如何在Python中重命名虚拟环境?

2024-05-23 19:41:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我在初始化virtualenv时拼写错误,使用:

$ virtualenv vnev

我实际上打算创建名为venv的环境。 尝试将vnev文件夹重命名为venv后,我发现这并没有提供太多帮助。激活环境的名称仍然重命名旧的vnev

$ mv vnev venv
$ . venv/bin/activate
(vnev) $ deactivate

我想知道如何重新命名环境?


Tags: 文件夹名称bin环境virtualenvvenv重命名activate
3条回答

默认情况下,virtualenv不支持重命名环境。更安全的做法是删除virtualenv目录并创建一个具有正确名称的新目录。您可以通过以下方式执行此操作:

  1. 激活您的虚拟机:source vnev/bin/activate
  2. 创建当前安装包的requirements.txt:pip freeze > requirements.txt
  3. 删除拼写错误的virtualenv:rm -r vnev/
  4. 用正确的名称创建一个新的virtualenv:virtualenv venv
  5. 激活新的virtualenv:source venv/bin/activate
  6. 从requirements.txt安装包:pip install -r requirements.txt

如果重新创建不是一个选项,那么virtualenv-mv之类的第三方工具可能会有帮助。

或者,您可以使用virtualenvwrapper,它提供cpvirtualenv命令来复制或重命名virtualenvs。

如果使用virtualenvwrapper,可以通过以下方式完成:

$ cpvirtualenv <wrong_name> <correct_name>
$ rmvirtualenv <wrong_name>

另外,仅供参考,要重命名conda virtualenvironment,请签出this question

我的回答类似于用旧的虚拟环境的依赖关系创建一个新的虚拟环境,但是这个是简洁的。

  1. 使用conda将旧环境(如venv_1)克隆到新环境(如venv_2)。

    conda create-n venv_2—克隆venv_1

这将创建一个新的环境venv_2克隆venv_1。因此,没有单独的任务来获取包/依赖项。一步就够了。

  1. 删除旧的虚拟环境。[如果仍要保留旧环境,此步骤是可选的]

    rm-rf“旧虚拟环境的完全限定路径”

所以用1/2个步骤就能完成任务。

相关问题 更多 >