方法1——克隆再删除
先使用–clone命令复制一份老环境,然后改名并删除老环境1。
conda create --n newName --clone oldName
conda remove --n oldName --all
但是,如果原始环境比较大,clone的时间会比较长。
方法2——conda rename
从Conda 4.14版本开始,可以使用以下命令来改变环境名称23:
conda rename -n oldName newName
不过在内部,conda rename仍然使用了方法一中提到的conda create和conda remove的组合方式,并且对conda版本有要求。
方法3——直接重命名文件夹
找到虚拟环境所在的文件夹,直接将其重命名,一般情况下这种简单粗暴的方法并不影响Python的运行。
1. 执行 pip
或 pip3
时会出现如下报错:
-bash: /home/xxx/.conda/envs/newName/bin/pip: /home/xxx/.conda/envs/oldName/bin/python: bad interpreter: No such file or directory
原因是这些bin里的文件开头依然还是原来的路径,如下所示
#!/home/xxx/.conda/envs/oldName/bin/python
# -*- coding: utf-8 -*-
import re
import sys
from pip._internal.cli.main import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(main())
将第一行位置修改正确即可
#!/home/xxx/.conda/envs/newName/bin/python
哪个命令出现相同报错就改哪个文件的对应的部分。
2. 执行 clear
出现 terminals database is inaccessible
先使用 which clear
找到文件所在位置,一般是在虚拟环境下的 bin 目录下。将系统的 clear 复制过来如下:
cp /usr/bin/clear /home/xxx/.cond/envs/newName/bin/
或者在~/.bashrc
文件里面添加 alias clear='/usr/bin/clear'
,强制clear使用/usr/bin/clear4。
参考博文:Linux环境下conda虚拟环境的迁移
-
Conda:1秒钟修改虚拟环境名称 ↩︎
-
我如何重命名一个conda环境? ↩︎
-
conda rename ↩︎
-
ubuntu/linux clear命令错误:terminals database is inaccessible ↩︎