从 PyCharm 识别的包中导入,但命令行无法识别

Yon*_*din 2 python python-3.6

我创建了以下包树:

/main_package
    /child_package
    version.py
Run Code Online (Sandbox Code Playgroud)

其中 version.py 包含单个字符串变量 (VERSION)

在子包中的脚本中,我通过以下行导入 version.py:

from main_package.version import VERSION
Run Code Online (Sandbox Code Playgroud)

当我从 PyCharm 运行代码时,一切正常,但是当我通过命令行运行代码时,我收到以下错误消息:

C:\Users\usr\PycharmProjects\project\main_package\child_package>python script.py
Traceback (most recent call last):
File "script.py", line 2, in <module>
from main_package.version import VERSION
ModuleNotFoundError: No module named 'main_package'
Run Code Online (Sandbox Code Playgroud)

我在互联网上发现我可能需要将我的包添加到 python 路径中,但是它似乎对我不起作用

gle*_*ant 5

PyCharm 在项目的根目录下设置 Python 路径(默认情况下)。要以一种快速而简单的方式模仿这一点,您只需要在调用之前在 shell 会话中执行一次python whatever

set PYTHONPATH=C:\Users\usr\PycharmProjects\project
Run Code Online (Sandbox Code Playgroud)