系统重装以后如何恢复anaconda3配置与虚拟环境

774 阅读3分钟

我最近遇到的问题就是5090显卡驱动和各种依赖特别不稳定,刚开始还能通过NVIDIA正常升级,后来各种驱动安装失败,卸载后干脆就安装不上了。总而言之一个IT老鸟实在搞不定只能重装的时候,你的头就会有几个大,原因就是你的娱乐、办公、编程的所有环境要一一恢复是一个很漫长的过程。

好废话不多说了,正文开始:

声明:本文适用于完全重装Windows 后快速恢复Anaconda3所有虚拟环境配置。 前提:原本安装Anaconda路径不在系统盘,如我选择安装在E:\

网络上其它教程比较简单粗暴,直接到cmd和powershell运行命令 python ._nsis.py mkmenus 运行情况会如下:

Microsoft Windows [版本 10.0.26100.3624]
(c) Microsoft Corporation。保留所有权利。

E:\anaconda3\Lib>python .\_nsis.py mkmenus

E:\anaconda3\Lib>

你会不会很慌?重启后你可以根据 conda info --envs 和 conda info 的反馈来验证是否有效?

同时以上方法请注意要设置PATH环境变量:

~\anaconda3\scripts
~\anaconda3\
~\anaconda3\library\bin

注意要根据你自己的相对路径设置。

以上适合老选手,如果你是个新人,我摸索了以下的方式更适合:

1、修改原版本安装路径为备份目录备用,因为全新安装Anaconda时会检测目录是否为空,覆盖原目录是不合适的。例如:原E:\anaconda3直接修改为E:\anaconda3_bak

2、全新安装Anaconda,路径要按照原本的环境设置。例如:还是安装到E:\anaconda3

3、重装系统后进入Anaconda PowerShell Prompt,输入:conda info 和 conda info --envs 查看目前配置和虚拟环境配置。

4、关闭Anaconda PowerShell Prompt,不要急于去恢复虚拟环境。直接用备份目录和新目录乾坤大挪移完成所有文件的搬迁,简单来说就是这时可以删除E:\anaconda3目录,然后把E:\anaconda3_bak 修改为 E:\anaconda3。

5、如上再运行python ._nsis.py mkmenus命令配置所有虚拟环境。

6、再次输入conda info 和 conda info --envs 查看目前配置和虚拟环境配置的前后变化情况。

至此已经大功告成~ 这个方法的好处是,恢复了所有anaconda3全新安装的依赖快捷方式等,同时也保证了配合和虚拟环境和原本的保持一致。

注意经过测试,不管怎么样都无法直接恢复原本对conda config 的一些设置修改,比如源地址。这里就不再重复,有需要的同学可以参见之前的随笔: Anaconda 新人傻瓜教程

付恢复后正常的conda info 和 conda info --envs的反馈:(注意这里的路径和一些配置细节会根据你的设置和目录有所区别)

(base) PS C:\Users\username> conda info

     active environment : base
    active env location : E:\anaconda3
            shell level : 1
       user config file : C:\Users\username\.condarc
 populated config files : E:\anaconda3\.condarc
                          C:\Users\username\.condarc
          conda version : 24.11.3
    conda-build version : 24.9.0
         python version : 3.12.7.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=skylake
                          __conda=24.11.3=0
                          __cuda=12.8=0
                          __win=0=0
       base environment : E:\anaconda3  (writable)
      conda av data dir : E:\anaconda3\etc\conda
  conda av metadata url : None
           channel URLs : https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64
                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/noarch
                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/win-64
                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/noarch
                          https://repo.anaconda.com/pkgs/main/win-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/win-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/msys2/win-64
                          https://repo.anaconda.com/pkgs/msys2/noarch
          package cache : E:\anaconda3\pkgs
                          C:\Users\username\.conda\pkgs
                          C:\Users\username\AppData\Local\conda\conda\pkgs
       envs directories : E:\anaconda3\envs
                          C:\Users\username\.conda\envs
                          C:\Users\username\AppData\Local\conda\conda\envs
               platform : win-64
             user-agent : conda/24.11.3 requests/2.32.3 CPython/3.12.7 Windows/11 Windows/10.0.26100 solver/libmamba conda-libmamba-solver/24.9.0 libmambapy/1.5.8 aau/0.4.4 c/9FSUSOxa6Lw5K-65eczShg s/eZvcNiS5z-aYCG65_evwSA e/cAs17KC6PbcwTTrKwSHt5Q
          administrator : False
             netrc file : None
           offline mode : False

(base) PS C:\Users\username> conda info --envs

# conda environments:
#
base                 * E:\anaconda3
AI                     E:\anaconda3\envs\AI
ComfyUI             E:\anaconda3\envs\ComfyUI
EL                     E:\anaconda3\envs\EL
tushare                E:\anaconda3\envs\tushare