我正在为我的一个程序编写Bootstrap代码,并尝试使用subprocess.call将其安装到我的虚拟环境目录中。
最初我使用的是:
这在命令行中运行良好,但在子进程中无法工作:
返回此错误信息:
最初我使用的是:
subprocess.call(['pip', 'install', '-E', dir_name, 'processing'])
当在Ubuntu上重新运行时,我注意到-E已经过时(http://pypi.python.org/pypi/pip/),需要使用:
virtualenv dir_name && dir_name/bin/pip install processing
这在命令行中运行良好,但在子进程中无法工作:
subprocess.call(['virtualenv', dir_name, '&&', '{0}/bin/pip'.format(dir_name), 'install', 'processing'])
返回此错误信息:
There must be only one argument: DEST_DIR (you gave dir_name && dir_name/bin/pip install processing)
Usage: virtualenv [OPTIONS] DEST_DIR
我也尝试过使用virtualenv.create_bootstrap_script(extra_text)(但无法理解并且有一些额外的脚本是从git运行的)
想知道我在subprocess中做错了什么或者我能改变什么。
谢谢!