为什么Python在从命令行调用时找不到我的模块,而不是从PyCharm调用



在PyCharm 中调用我的脚本效果良好

项目结构如下:

project_name
└── src
├─ bin
│  └─ file_to_run.py
└─ some_module
└─ __init__.py

我正在使用从命令行调用脚本

C:pathtovenvpython.exe C:fooproject_namesrcbinfile_to_run.py

它给了我

ModuleNotFoundError: No module named 'some_module'

我尝试过为%PYTONPATH%设置各种值,包括

  • cd project_name && set PYTHONPATH=.
  • set PYTHONPATH=C:fooproject_namesrc
  • set PYTHONPATH=C:fooproject_namesrcbin
  • set PYTHONPATH=C:fooproject_namesrcsome_module
  • set PYTHONPATH="C:fooproject_namesrcsome_module; C:fooproject_namesrcsome_module"

及其基本上所有的组合,带引号,不带引号,用冒号和分号分隔。

我在PyCharm中设置了一个源代码根,当我在IDE中运行它时,它有一个脚本路径、环境变量和定义的工作目录,并选中了"向PYTHONPATH添加内容根"one_answers"添加源代码根"选项。

我想不出更多的相关信息来解释为什么它找不到那个模块。

Windows版本10,使用命令提示符。

看起来我在运行之前没有激活我的virtualenv,所以python版本与@furas建议的不同。

最新更新