我想进入python文件中的虚拟环境 . 但它没有引发这样的文件 .
import subprocess
subprocess.Popen(['source', '/Users/XX/Desktop/mio/worker/venv/bin/activate'])
Traceback(最近一次调用最后一次):文件“/Users/Ru/Desktop/mio/worker/run.py”,第3行,在subprocess.Popen中(['source','/ Users / Ru / Desktop / mio / worker / venv / bin / activate'])文件“/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py”,第710行, init errread,errwrite)文件“/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py”,第1335行,在_execute_child中引发child_exception OSError: [Errno 2]没有这样的文件或目录
2 回答
我认为你的代码不是来自documentation来自virtualenv路径参数的't work because you are separating the ' source'命令:
您应该尝试以下两种方法之一:首先,将source和virtualenv文件路径写为单个字符串参数:
我正在研究OSX,但这似乎不起作用,但可能是由于你正在使用的shell . 要确保这可以工作,您可以使用shell = True标志:
这将默认使用/ bin / sh shell . 同样,您可以在文档中阅读更多内容 .
汤姆 .
还有另一种更简单的方法可以做你想要的 . 如果你想让python脚本使用virtualenv,你总是可以使用virualenv本身的python解释器 .
/ Users / Ru / Desktop / mio / worker / venv / bin / python my_python_file.py
这将使用virtualenv的属性/库运行my_python_file.py .
如果要在子进程中运行该文件,可以执行与上述方法类似的操作:
并让my_python_file.py导入鼠标并执行您希望执行的其他操作 .
汤姆 .