【发布时间】:2019-10-15 15:46:33
【问题描述】:
我花了几个小时研究这个问题,但没有任何成功。 我查看了各种 SO 讨论,但似乎没有一个可以解决我的问题,所以出于纯粹的挫败感,这是我的问题...... 我正在尝试在 Windows 批处理文件中启动脚本。问题是当我这样做时脚本失败了,因为它找不到一些使用的模块。
经过各种尝试,我发现在这个阶段,批处理文件方面似乎无关紧要。
所以,暂时忽略批处理文件,如果我像这样运行脚本
pipenv 运行 python myscript.py
它有效。如果我运行以下它不会
环境路径\脚本\激活
python myscript.py
它返回一个错误 ModuleNotFoundError: No module named 'xxx' 它激活了venv OK,但是有些地方不对,因为它找不到脚本中使用的代码
在我的 IDE(可视化代码)中一切正常
我确实有一个相当复杂的目录结构,但鉴于 IDE 和“pipenv run python myscript.py”都按预期工作,这一定是由于其他原因。
关于我需要在哪里寻找的任何想法或指示?恐怕我对 pipenv 的理解无法解决这个问题;)
编辑
在尝试解决这个问题时,我添加了 PYTHONPATH= 行。到我的 .env 文件。这似乎是允许这条线工作的原因:
pipenv 运行 python myscript.py
如果我删除它,那么上面的也会生成 ModuleNotFoundError
【问题讨论】:
-
您尝试过以下方法吗?
path-to-env\Scripts\activate然后:path-to-env\python myscript.py或python path-to-file\myscript.py -
@Ferd 我没有尝试过,但我现在有,它给出了同样的错误