運行Python 3.6.1,並試圖從我的項目中的另一個包中導入文件(world.py
)。在Python 3中的嵌套包之間導入
我的目錄結構:
+-- test_project
| +-- sub_project1
| | +-- __init__.py
| | +-- hello.py
| +-- sub_project2
| | +-- __init__.py
| | +-- world.py
hello.py
:
def say_hello():
return("Hello ")
world.py
:
from test_project.sub_project1.hello import say_hello
print(say_hello() + "world!")
當我進入sub_project2
目錄,並運行world.py
,我不斷收到這樣的:
ModuleNotFoundError: No module named 'test_project'
我試過重寫導入語句到from sub_project1.hello import say_hello
。我也嘗試在我的PATH環境變量中使用test_project
目錄。我試過在我的路徑中有test_project
的父目錄目錄。我試過在我的PATH中有sub_project2
的目錄。我在網上搜索了答案,無法計算出我錯過的內容。
我在這裏做錯了什麼?
感謝的是,這似乎是最簡單的解決方案。我喜歡Python,但是包和導入可能有時是一種絕對的痛苦...... – Megdatronica
不客氣。我同意,我也愛Python。沒有刺就沒有玫瑰。每種語言都有強硬的一面。另外,不要忘記閱讀我上面給出的鏈接,這對導入非常有幫助。 – Alperen