1
我正在研究一個Python應用程序,它由一個核心和多個使用核心的獨立模塊組成。我在設置包的相對導入時遇到困難。Python包:相對導入
app
|- __init__.py
|- core
|- __init__.py
|- corefile.py
|- module1
|- __init__.py
|- main.py
__init__.py
文件是空的。我正在運行Python 2.7.1。
main.py
from .core import *
運行python main.py
結果ValueError: Attempted relative import in non-package
。
類似的問題:Ultimate answer to relative python imports,How to do relative imports in Python?,Relative imports in Python
感謝您的幫助。
這取得了一些進展,但現在我得到'ValueError:試圖相對導入超出頂層包'。打印'__name__'會產生'module.main'而不是'app.module.main'。爲什麼它沒有看到它上面的目錄作爲包的一部分? – mgold 2012-04-07 23:42:54
你究竟如何導入它?你是從'app'內的東西導入它作爲'module.main'嗎? – 2012-04-08 02:24:49
我設法想出了一個稍微俗氣的解決方案,涉及嘗試不同的路徑。按照您的建議,我也從頂層調用'module.main',所以我會繼續並關閉它。 – mgold 2012-04-09 00:47:40