2017-08-12 247 views
0

我知道這個問題已經以相似的方式多次提出,但我想了解Pythonimport機制的最簡單示例。從模塊導入Python

假設我有以下目錄結構:

.\Project\moduleOne.py

.\Project\moduleTwo.py

基本上我導入功能從moduleTwo而在moduleOne是:

from moduleTwo import myFunction 

一切都會按計劃,我可以使用myFunction。但是,如果我改變import聲明,如下圖所示:

from .moduleTwo import MyFunction 

我收到以下錯誤:

ValueError: Attempted relative import in non-package

即使我有一個__init__.py文件,以使項目目錄一包我仍然收到同樣的錯誤。

任何幫助將非常感激。謝謝!

+1

這可能有助於https://www.python.org/dev/peps/pep-0366/ –

回答

0

我想,當你做到這一點是當前目錄。\項目,和正在運行

python3 moduleOne.py 

因此要導入moduleTwo作爲一個獨立的模塊,而不是作爲一個整體的一個子模塊。

如果你是,例如,登上目錄層次結構,使您的當前目錄是項目目錄的父目錄,並執行

python3 -m Project.moduleOne 

你會發現,從.moduleTwo相對進口執行得很好。