繁体   English   中英

导入另一个包时出现 ModuleNotFoundError

[英]ModuleNotFoundError when importing another package

我正在尝试从位于另一个包中的脚本导入一个类:

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'

如果您从 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 )但最一致的方式来运行您的正在描述的是从上面的目录运行它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM