conda 重命名虚拟环境

时间:2025-02-27 08:10:50

方法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. 执行 pippip3 时会出现如下报错:

-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虚拟环境的迁移


  1. Conda:1秒钟修改虚拟环境名称 ↩︎

  2. 我如何重命名一个conda环境? ↩︎

  3. conda rename ↩︎

  4. ubuntu/linux clear命令错误:terminals database is inaccessible ↩︎