Python subprocess.call()给出;系统找不到指定的路径。”;当文件存在并且可以真正运行时
为什么要跑Python subprocess.call()给出;系统找不到指定的路径。”;当文件存在并且可以真正运行时,python,anaconda,subprocess,environment,Python,Anaconda,Subprocess,Environment,为什么要跑 import subprocess # I'm going to run another python script in anaconda script like this: #subprocess.call("C:\\ProgramData\\Anaconda3\\Scripts\\activate.bat && python C:\test.py") # but for simplifying the sample for here I've deleted
import subprocess
# I'm going to run another python script in anaconda script like this:
#subprocess.call("C:\\ProgramData\\Anaconda3\\Scripts\\activate.bat && python C:\test.py")
# but for simplifying the sample for here I've deleted the second part
# (in the case you didn't install python in the default path, you can replace v_activate_address with the correct address on your computer to see the result)
v_activate_address = "C:\\ProgramData\\Anaconda3\\Scripts\\activate.bat"
subprocess.call(v_activate_address)
给。(这不是一个错误):
这段代码可以在anaconda环境中真正运行my test.py,但这行代码看起来并不可取。
我该怎么摆脱它呢
[地址正确,请不要这样说]
对@Dunes评论的答复:
似乎是
.bat
脚本中的错误。如果脚本一开始就不存在,那么会出现异常。该行似乎是bat脚本的输出。activate.bat文件是Anaconda产品的正式文件,并且它存在。即使是bat文件也已真正运行!如果子进程运行正确,显然是.bat文件有问题。也许你的水蟒装置搞砸了。无论如何,这似乎超出了Python的范围。请注意,在子流程(没有任何其他指定要遵循的命令)内激活virtualenv基本上没有什么用处。它不会为调用它的Python解释器激活virtualenv,也不会为启动该Python解释器的shell激活virtualenv,也不会为从同一解释器单独启动的任何未来子进程激活virtualenv。@parvij,在删除尾部的&&Python.exe…
时是否会出现输出?我怀疑在这种情况下您需要传递shell=True
。似乎是.bat
脚本中的错误。如果脚本一开始就不存在,那么会出现异常。该行似乎是bat脚本的输出。activate.bat文件是Anaconda产品的正式文件,并且它存在。即使是bat文件也已真正运行!如果子进程运行正确,显然是.bat文件有问题。也许你的水蟒装置搞砸了。无论如何,这似乎超出了Python的范围。请注意,在子流程(没有任何其他指定要遵循的命令)内激活virtualenv基本上没有什么用处。它不会为调用它的Python解释器激活virtualenv,也不会为启动该Python解释器的shell激活virtualenv,也不会为从同一解释器单独启动的任何未来子进程激活virtualenv。@parvij,在删除尾部的&&Python.exe…
时是否会出现输出?在这种情况下,我怀疑您需要传递shell=True
。
The system cannot find the path specified.