我不是 Python 的新手,但我遇到了一个奇怪的问题。
我设置了这个python项目结构(摘录):
- 项目-A/myapp
- 项目-B/core/common/lib
其中myapp/core、common 和 lib是 python 包。
project-B 目录在 python 路径中设置为 '/root_path/to/core_module'
当我运行将模块导入 project-A/myapp 目录的脚本时:
from core.common.lib import Error, XmlSource, Property, Preference
它引发了一个错误:
ImportError:没有名为“核心”的模块
无需更改 python3 解释器中的当前目录并输入相同的命令:
jeby6372@mercure:~/factory/bubble$ python3
Python 3.4.0 (default, Apr 9 2014, 20:03:10)
[GCC 4.7.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from core.common.lib import Error, XmlSource, Property, Preference
>>>
模块已加载...在脚本执行期间,我期待与上述相同的行为。
所以我尝试在失败的导入语句之前添加这个命令
os.environ['PYTHONPATH'] = '/root_path/to/core_module'
没有成功...
任何想法 ?
也许我错了,但我假设python3解释器首先在当前目录中搜索相对导入模块路径,然后在定义的python路径中搜索它被调用的位置。
谢谢你的帮助