首页 > 解决方案 > 绝对导入在项目中无法正常工作

问题描述

我很困惑为什么我的绝对进口不起作用。我已经用谷歌搜索了这个,我尝试实施所有可能的解决方案但没有成功。我不想将任何内容附加到 sys.path,我正在遵循 PEP8 的确切说明,并且我想让它在没有任何黑客/快捷方式的情况下工作 - 除非黑客是唯一的方法。

每个基本教程都说要这样做,但由于某种原因它对我不起作用。我的项目结构如下,使用 Python 3.7.6

module\
-------__init__.py
-------\folder_1
----------------__init__.py
----------------file1.py
-------\folder_2
----------------__init__.py
----------------file2.py

在 module\folder_1\file1.py 我做:

from module.folder_2 import file_2

仅供参考,我通过终端“python file1.py”运行它,但出现以下错误:

ModuleNotFoundError: No module named 'module'

编辑: 我发现了问题。我正在运行'python file1.py',但是当你这样做时,它会作为脚本运行它,而实际上它是一个模块。运行文件的方式会对结果产生影响。我不是通过运行 file1.py 来测试模块,而是通过“导入模块”在某处实际使用模块,一切都很好。

标签: pythonpython-3.xpython-import

解决方案


推荐阅读