Python 命令行中出现包导入错误,但PyCharm中没有
到目前为止,我有一个通过PyCharm编译的项目。它的结构是这样的Python 命令行中出现包导入错误,但PyCharm中没有,python,pycharm,Python,Pycharm,到目前为止,我有一个通过PyCharm编译的项目。它的结构是这样的 ParentFolder\ - Mains\ - __init__.py - main.py - package\ - __init__.py - util.py 在main.py中,我有这样一个导入行: from package.util import ... 现在,当我在PyCharm中运行它时,它不会出现任何问题。 但是,当我试图通过命令行运行此命令时,我无法从util.py导入,因此出现错误 No m
ParentFolder\
- Mains\
- __init__.py
- main.py
- package\
- __init__.py
- util.py
在main.py中,我有这样一个导入行:
from package.util import ...
现在,当我在PyCharm中运行它时,它不会出现任何问题。
但是,当我试图通过命令行运行此命令时,我无法从util.py导入,因此出现错误
No module named ...
除了简单的
python main.py
命令之外,PyCharm似乎还做了一些额外的事情。关于这可能是什么以及我应该如何通过命令行复制它的任何指针?您可以检查您运行的配置,您会发现默认情况下选中了两个复选框:
Add content roots to PYTHONPATH
Add source roots to PYTHONPATH
这使您能够导入包
Pycharm将当前项目的目录添加到sys.path
(python在其中查找模块),这就是为什么您可以在Pycharm中找到该模块,但在直接从python解释器执行时却找不到。没错。但是如何通过终端实现同样的效果呢?您可以手动设置env变量PYTHONPATH
。例如:PYTHONPATH=/path/to/your/project python main.py