将 virtualenvs 移动到另一个主机文件夹

Pas*_*day 2 python virtualenv virtualenvwrapper

WORKON_HOME由于错误,我忘记在创建虚拟环境之前指定变量,并且它们是在/root/.virtualenvs目录中创建的。它们工作得很好,我通过激活某些环境进行了一些测试,然后查看(env)$ pip freeze那里安装了哪些特定模块。

因此,当我发现工作主路径错误时,我需要将主机目录更改为/usr/local/pythonenv. /root/.virtualenvs我创建了它并将目录的所有内容移动到/usr/local/pythonenv,并更改了变量的值WORKON_HOME。现在,使用 workon 命令激活环境似乎工作正常(即,promt 更改为(env)$),但是如果我这样做(env)$ pip freeze,我会得到比以前更长的模块列表,并且这些模块不包括移动之前安装在该特定环境中的模块。

我想仅仅移动文件并为WORKON_HOME变量指定另一个目录是不够的。是否有一些配置可以在其中指定主机目录的新位置,或者特定环境的一些配置文件?

Jor*_*fer 5

Virtualenv 默认情况下不可重定位。您可以使用virtualenv --relocatable <virtualenv>将现有的 virtualenv 转换为可重定位的 virtualenv,然后看看这是否有效。但该选项是实验性的,并不真正推荐使用。

最可靠的方法是创建新的 virtualenv。在旧环境中使用pip freeze -l > requirements.txt来获取已安装软件包的列表,创建新的 virtualenv,然后使用pip install -r requirements.txt在新环境中安装软件包。