我想创建一个引导脚本来设置本地环境并在其中安装所有要求.我一直在尝试使用virtualenv.create_bootstrap_script,如docs所述.
import virtualenv
s = virtualenv.create_bootstrap_script('''
import subprocess
def after_install(options, home_dir):
subprocess.call(['pip', 'install', 'django'])
''')
open('bootstrap.py','w').write(s)
运行生成的bootstrap.py时,它会正确设置虚拟环境,但然后尝试全局安装Django.
如何编写仅在此本地虚拟环境中安装Django的引导脚本.它必须适用于Windows和Linux.
解决方法:
您可以通过以下方式强制将pip安装到virtualenv中:
subprocess.call(['pip', 'install', '-E', home_dir, 'django'])
此外,将依赖项存储在requirements.txt文件中是一个很好且有用的约定,对于django 1.3来说,它是:
django==1.3
然后在你的after_install中:
subprocess.call(['pip', 'install', '-E', home_dir, '-r', path_to_req_txt])
标签:python,virtualenv,deployment