Python 相对导入造成意外行为
Python relative imports creating unexpected behavior
我目前有一个目录结构如下的项目:
/reports/
/supermart_reports/
__init__.py
load_check.py
db_connection.py
ahs_report/
create_ahs_report.py
我使用 python3.4 -m supermart_reports.ahs_report.create_ahs_report
从 reports/
调用 create_ahs_report.py
,在该文件中我使用 from ... import db_connection
和 [ 导入 db_connection
和 load_check
=18=]。这些导入似乎有效。但是,现在当我 运行 脚本时,在 load_check.py
中,我的行 import db_connection
不再工作,显示 ImportError: No module named 'db_connection'
。我做了什么弄乱了相对进口?
从 load_check
导入 db_connection
时,使用 from . import db_connection
或 import .db_connection
。
参见 https://docs.python.org/2.5/whatsnew/pep-328.html
我目前有一个目录结构如下的项目:
/reports/
/supermart_reports/
__init__.py
load_check.py
db_connection.py
ahs_report/
create_ahs_report.py
我使用 python3.4 -m supermart_reports.ahs_report.create_ahs_report
从 reports/
调用 create_ahs_report.py
,在该文件中我使用 from ... import db_connection
和 [ 导入 db_connection
和 load_check
=18=]。这些导入似乎有效。但是,现在当我 运行 脚本时,在 load_check.py
中,我的行 import db_connection
不再工作,显示 ImportError: No module named 'db_connection'
。我做了什么弄乱了相对进口?
从 load_check
导入 db_connection
时,使用 from . import db_connection
或 import .db_connection
。
参见 https://docs.python.org/2.5/whatsnew/pep-328.html