Warm tip: This article is reproduced from serverfault.com, please click

python-重命名virtualenv文件夹而不破坏它

(python - Renaming a virtualenv folder without breaking it)

发布于 2011-07-08 18:02:15

我已经创建了文件夹并在其中初始化了virtualenv实例。

$ mkdir myproject
$ cd myproject
$ virtualenv env

当我运行时(env)$ pip freeze,它会按原样显示已安装的软件包。

现在,我想重命名myproject/project/

$ mv myproject/ project/

但是,当我跑步时

$ . env/bin/activate
(env)$ pip freeze

提示未安装pip。如何在不破坏环境的情况下重命名项目文件夹?

Questioner
Riley Watkins
Viewed
22
322 2016-05-14 18:33:37

你需要调整安装以使用相对路径。virtualenv为此提供了--relocatable选项。文档

通常,环境绑定到特定路径。这意味着你无法移动环境或将其复制到另一台计算机。你可以使用以下命令修复环境以使其可重定位:

$ virtualenv-可重定位的ENV

注意: ENV是虚拟环境的名称,你必须从ENV目录外部运行它。

这将使setuptools创建的某些文件或分发文件使用相对路径,并将所有脚本更改为使用activate_this.py而不是使用Python解释器的位置来选择环境。

注意:在将任何软件包安装到环境中之后,必须运行此命令。如果使环境可重定位,然后安装新软件包,则必须再次运行virtualenv --relocatable。