我有我試圖從一個文件夾的層級下讀取自定義模塊:Python中沒有名爲模塊
> project-source
/tests
/provider
my_provider.py
settings_mock.py
__init__.py
我想打電話,從my_provider.py
import tests.settings_mock as settings
例從命令行:
project-source> python tests/provider/my_provider.py
錯誤:
... ImportError: No module named settings_mock
我一直得到No module named settings_mock
爲錯誤。我已經出口到PYTHONPATH的路徑project_source
。我已經在其根目錄下創建了一個__init__.py
文件,然後在錯誤中沒有更改,從而將測試集成到一個包中。
我可以cd'ing項目源
當打印settings_mock.py
屬性
>>> import tests.settings_mock as settings
>>> print settings.storage_provider
correct storage provider value
是任何人都可以在這裏指出我的錯誤?謝謝!
如果您的子文件夾是包(即它們包含'__init __。py'),則可以使用相對導入:'from .. import settings_mock' – jbndlr
只需將空** ___ init ___。py **添加到您的測試目錄中 – dmitryro
'__init __。py'在哪裏? –