我正在使用一个virtualenv
要执行脚本,在这个脚本中我调用:
os.system('python anotherScript.py')
我的问题是脚本是否在同一个中执行virtualenv
作为调用者脚本?
很难说,但是如果您在激活的 virtualenv 下运行此脚本,那么您应该在该虚拟环境下。你可以通过做来验证你的想法
#script.py
import os
os.system('which python')
并从命令行
virtualenv newvirtualenv
source newvirtualenv/bin/activate
(newvirtualenv) user@ubuntu: python script.py
你应该看到它在下面newvirtualenv/bin/python
通常,您想要放置一个可执行标头以使用当前环境:
#!/usr/bin/env python
import os
os.system('which python')
这个没说用newvirtualenv
,但让您更有信心该脚本是在newvirtualenv
,肯定会是newvirtualenv
.
如果你使用/usr/bin/python
这在virtualenv下还是可以的。但对于高级程序员来说,他们往往拥有多个虚拟环境和多个Python版本。因此,根据他们所在的位置,他们可以根据环境变量执行脚本。只是一个小小的收获。
如果你跑newvirtualenv/bin/python script.py
不管怎样,它都会在 virtualenv 下。
只要python
二进制指向 virtualenv 版本,你很好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)