昨晚,我的Mac上工作时,我设置了一些模块导入我__init__.py
的Python模块导入 - 明确VS隐相对导入
from MongoProvider import MongoProvider
from Settings import Settings
等我不能确定是哪个版本的Python的在那台机器上。一旦我拥有它,我将在稍后用该信息编辑问题。
今天,在另一台机器上工作,这是Windows和使用Python 3.3.3,我的模块进口已经打破。通过添加一个明确的相对导入(添加一个前导点),我能够解决这个问题。
from .MongoProvider import MongoProvider
from .Settings import Settings
我收到的轨迹是:
Traceback (most recent call last):
File "app.py", line 5, in <module> from modules.route_handlers import Route_Handlers
File "C:\Users\willb\bearded-dubstep\modules\route_handlers\Route_Handlers.py", line 9, in <module> from modules.backend_providers import Settings
File "C:\Users\willb\bearded-dubstep\modules\backend_providers\__init__.py", line 1, in <module> from MongoProvider import MongoProvider
ImportError: No module named 'MongoProvider'
我的项目布局是
根
| _modules
| _api_helpers
| __init__.py
| InvalidUsage.py
| response_utils.py
| _backend_providers
| __init__.py
| MongoProvider.py
| Settings.py
| _route_handlers
| __init__.py
| Route_Handlers
| app.py
任何想法会导致这种情况?有没有我应该看的配置文件?
什么Python版本是什么? –
Windows正在使用3.3.3。我不确定我的Mac上有什么。无论现在运送什么货物。 – William
你能提供更多信息吗?像Windows中的例外情况一样?你是项目的文件格式,等等? –