我正在尝试从位于另一个软件包中的脚本中导入一个类:
project_folder
|
| package_1
| | __init__.py
| |foo.py
| |
| package_2
| | __init__.py
| | bar.py
在脚本“ bar.py ”中,我具有以下导入:
from package_1.foo import Class
此行生成错误:
ModuleNotFoundError: No module named 'package_1'
答案 0 :(得分:1)
如果您正在从package_2目录运行代码,则package_1不在您的路径中,因此解释器不了解它。
您可以在project_folder目录中运行 python -m package_2.bar
,然后它将在您的路径中。
按路径,我的意思是环境变量,它是python解释器查找软件包的目录列表。默认情况下,这是相对于您已安装python +当前目录的位置。您可以手动将此变量更新为所需的变量(请参见https://docs.python.org/3/install/index.html#modifying-python-s-search-path),但是运行所描述内容的最一致的方法是从上面的目录中运行它。