问题:如何复制virtualenv
我有一个现有的virtualenv,其中包含很多软件包,但是旧版本的Django。
我想要做的就是复制此环境,因此我有另一个环境,它们的软件包完全相同,但是 Django的更新版本。我怎样才能做到这一点?
回答 0
最简单的方法是使用pip生成需求文件。需求文件基本上是一个文件,其中包含要安装(或在pip生成文件的情况下已经安装)所有python软件包的列表,以及它们的版本。
要生成需求文件,请进入原始的virtualenv,然后运行:
pip freeze > requirements.txt
这将为您生成requirements.txt文件。如果您在喜欢的文本编辑器中打开该文件,则会看到类似以下内容的内容:
Django==1.3
Fabric==1.0.1
etc...
现在,编辑这行Django==x.x
说Django==1.3
(或任何版本要在新的virtualenv安装)。
最后,激活新的 virtualenv并运行:
pip install -r requirements.txt
然后pip会自动下载并安装您requirements.txt文件中列出的所有python模块,无论您使用的是哪个版本!
回答 1
另一种选择是使用virtualenv-clone
包:
用于克隆不可重定位的virtualenv的脚本。
回答 2
回答 3
回答 4
最简单的选择是使用virtualenv-clone
软件包。
要复制venv1
到venv2
,请按照以下步骤操作:
安装
virtualenv-clone
在任一venv1
或虚拟的虚拟环境venv_dummy
。创建venv_dummy
:python -m virtualenv venv_dummy source venv_dummy/bin/activate
要安装
virtualenv-clone
:(venv_dummy): pip install virtualenv-clone
复制
venv1
到venv2
:(venv_dummy): virtualenv-clone venv1/ venv2/
回答 5
您能不能简单地:
- 将现有的虚拟环境目录复制到新目录
- 更新到新的Django?