mkvirtualenv可能是一个Shell函数,可以通过
virtualenvwrapper.sh从Shell的启动文件中获取脚本来添加到您的环境中。在
shell=True(例如
/bin/sh-c ...)上调用的默认命令可能不会读取它。
您可以显式地获取文件:
import pipesfrom subprocess import check_callcheck_call("""source /path/to/virtualenvwrapper.sh && mkvirtualenv --no-site-packages """ + pipes.quote(envname), executable='bash', shell=True)


