[英]ModuleNotFoundError in a Python project using packages
我有一個帶有相當簡單的包結構的Python項目(python 3.6)。 我的目標是擁有一個包含模塊的軟件包,這些模塊可在其他軟件包中重復使用。 結構如下:
my_project
├── /docs
├── /src
│ ├── __init__.py
│ ├── /common
│ | |── __init__.py
│ | |── common_module.py
│ ├── /packageA
│ | |── __init__.py
│ | |── modA.py
問題是當我在modA.py
執行以下modA.py
:
from src.common import common_module as cm
我收到以下錯誤: ModuleNotFoundError: No module named src.common
到目前為止,我嘗試過的是
https://docs.python.org/3/tutorial/modules.html
export PYTHONPATH=<path_to_project>/src
在我使用的虛擬環境中擴展PYTHONPATH __init__.py
放在/my_project
內 sys.path
,據說即使可行,這也不是一個好的解決方案。 這些都不起作用,並且我已經在這個問題上苦苦掙扎了一段時間了,因此任何建議都會受到贊賞。
為了使此導入正常進行,PYTHONPATH必須為.../my_project
,而不是.../my_project/src
。
是的,您應該在project
放入__init__.py
,
然后export PYTHONPATH = <LOCAL_PATH_TO_...>/project
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.