使用 virtualenvwrapper 重命名环境

Posted

技术标签:

【中文标题】使用 virtualenvwrapper 重命名环境【英文标题】:Rename an environment with virtualenvwrapper 【发布时间】:2012-03-21 08:30:12 【问题描述】:

我有一个名为 doors 的环境,我想将其重命名为 django 以获得 virtualenvwrapper。

我注意到如果我只是将文件夹~/.virtualenvs/doors 重命名为django,我现在可以调用workon django,但环境仍然显示(doors)hobbes3@hobbes3

【问题讨论】:

【参考方案1】:

你可以使用:

cpvirtualenv oldenv newenv
rmvirtualenv oldenv

所以在你的情况下:

cpvirtualenv doors django
rmvirtualenv doors

【讨论】:

请注意,目前有一个警告,cpvirtualenv 可能由于某些硬编码的路径信息而无法正常工作。这是文档:virtualenvwrapper.readthedocs.org/en/latest/… 我刚试过这个,它用 python2.7 创建了“副本”,尽管我试图复制的 oldenv 使用了 python3.7 .....伤心。 我在运行 cpvirtualenv 后刚刚得到 Python 3.7.3,正如预期的那样。【参考方案2】:

如果你这样做:

$ ack-grep -ai doors ~/.virtualenvs/django/bin

您会注意到将doors 作为位置而不是 django,您将使用新位置更改每个文件。

解决方案: 重命名文件夹后执行以下命令。

$ sed -i "s/doors/django/g" ~/.virtualenvs/django/bin/*

现在如果你这样做:

$ workon django
(django)hobbes3@hobbes3

【讨论】:

以上是关于使用 virtualenvwrapper 重命名环境的主要内容,如果未能解决你的问题,请参考以下文章

gulp安装及配置

TABLE重命名

文件夹为啥无法重命名?

在 bash shell 中使用重命名命令重命名文件

文件批量重命名 如1-2 3-4 5-6

获取 Perl 重命名实用程序而不是内置的重命名