我在使用以下内容初始化时错误拼写了virtualenv
的名称:
$ virtualenv vnev
我实际上打算创建名为venv
的环境。
尝试将vnev
文件夹重命名为venv
后,我发现这并没有提供太多帮助。激活环境的名称仍会重命名旧的vnev
。
$ mv vnev venv
$ . venv/bin/activate
(vnev) $ deactivate
我想知道如何重命名环境?
答案 0 :(得分:83)
默认情况下,virtualenv不支持重命名环境。删除virtualenv目录并使用正确的名称创建一个新目录更安全。您可以通过以下方式执行此操作:
source vnev/bin/activate
pip freeze > requirements.txt
rm -r vnev/
virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
如果无法重新创建,则可以使用virtualenv-mv等第三方工具。
或者,您可以使用virtualenvwrapper提供cpvirtualenv
命令来复制或重命名virtualenvs。
答案 1 :(得分:26)
如果您使用virtualenvwrapper,可以通过以下方式完成:
$ cpvirtualenv <wrong_name> <correct_name>
$ rmvirtualenv <wrong_name>
另外,仅供参考,重命名conda virtualenvironment,请查看this question。
答案 2 :(得分:1)
cpvirtualenv
在我尝试运行 virtualenv-clone
时出错,但直接运行它可以正常工作:
virtualenv-clone ~/.virtualenvs/oldname ~/.virtualenvs/newname
workon newname
rmvirtualenv oldname
无需重新安装任何东西。
答案 3 :(得分:1)
我用来重命名虚拟环境的步骤:
cp -a old_venv new_venv
sed
文件夹中的 new_venv/bin
直接更改对 old_v.env
的引用cd new_venv/bin
sed -i 's/old_venv/new_venv/g' *
rm -rf old_env
可能需要为 jupyter 重新安装 ipykernel,否则一切似乎都正常
答案 4 :(得分:0)
我的回答类似于使用旧的依赖关系创建一个新的虚拟环境,但是这个简洁。
使用conda将旧环境(例如venv_1)克隆到新环境(例如venv_2)。
conda create -n venv_2 --clone venv_1
这将创建一个新的环境venv_2克隆venv_1。因此,获取包/依赖项没有单独的任务。一步就足够了。
删除旧的虚拟环境。 [如果您仍然想保留旧环境,则此步骤是可选的]
rm -rf“旧虚拟环境的完全限定路径”
因此,只需1/2步就可以完成任务。
答案 5 :(得分:0)
在ForeignKey
中,我可以通过在profile
内编辑profile__user=self.request.user
来轻松重命名虚拟环境:
备份原始windows
(我复制并粘贴然后重命名为activate.bat
)。
右键单击并编辑scripts\
。
将activate.bat
变量从以下位置更改:
BACKUP_activate.bat
进入
activate.bat
将VIRTUAL_ENV
变量从以下位置更改:
set VIRTUAL_ENV=C:\some_dir\old_venv_name
进入
set VIRTUAL_ENV=C:\some_dir\new_venv_name
保存已编辑的批处理文件
注意:我的解决方案应该可以工作,并且可以保存PROMPT
来设置新的虚拟环境,我不了解任何脚本知识,或者在Linux或其他操作系统中什么都不知道