A主机

查看当前conda环境

(base) ytt@ytt-System-Product-Name:~$ conda env list
# conda environments:
#
base                  *  /home/ytt/anaconda3
DCEvo                    /home/ytt/anaconda3/envs/DCEvo
FAF                      /home/ytt/anaconda3/envs/FAF # 要迁移的环境
SegMiF                   /home/ytt/anaconda3/envs/SegMiF
TDFusion                 /home/ytt/anaconda3/envs/TDFusion
TIF                      /home/ytt/anaconda3/envs/TIF
habitat                  /home/ytt/anaconda3/envs/habitat
matcha                   /home/ytt/anaconda3/envs/matcha
pytorch20                /home/ytt/anaconda3/envs/pytorch20
tardal                   /home/ytt/anaconda3/envs/tardal
ylsnet                   /home/ytt/anaconda3/envs/ylsnet
yolov5                   /home/ytt/anaconda3/envs/yolov5
zjl                      /home/ytt/anaconda3/envs/zjls

打包要迁移的环境

(base) ytt@ytt-System-Product-Name:~$ cd /home/ytt/anaconda3/envs # 进入目录
(base) ytt@ytt-System-Product-Name:~$ tar -czvf FAF.tar.gz ./FAF/* # 打包=>使用FTP传到主机B

B主机

解压到当前目录

(base) excelsior@dlu:~/miniconda3/envs$ tar -xzvf FAF.tar.gz # 解压到当前目录

查看环境

(base) excelsior@dlu:~/miniconda3/envs$ conda env list
# conda environments:
#
base                  *  /home/excelsior/miniconda3
FAF                      /home/excelsior/miniconda3/envs/FAF # 新解压出来的
INF                      /home/excelsior/miniconda3/envs/INF
IR                       /home/excelsior/miniconda3/envs/IR
MG                       /home/excelsior/miniconda3/envs/MG
MM                       /home/excelsior/miniconda3/envs/MM
MoLA                     /home/excelsior/miniconda3/envs/MoLA
fmujie                   /home/excelsior/miniconda3/envs/fmujie
mld                      /home/excelsior/miniconda3/envs/mld
ylsnet                   /home/excelsior/miniconda3/envs/ylsnet

激活环境并使用

(base) excelsior@dlu:~/miniconda3/envs$ conda activate FAF

无法使用pip/pip3安装包

(FAF) excelsior@dlu:~/miniconda3/envs$ pip list
-bash: /home/excelsior/miniconda3/envs/FAF/bin/pip:/home/ytt/anaconda3/envs/FAF/bin/python:解释器错误: 没有那个文件或目录
(FAF) excelsior@dlu:~/miniconda3/envs$ pip3 list
-bash: /home/excelsior/miniconda3/envs/FAF/bin/pip3:/root/anaconda3/envs/FAF/bin/python:解释器错误: 权限不够

解决方法

  • 编辑迁移环境bin目录下的pip文件,pip3同理

  • 文件内容

    • #!/home/ytt/anaconda3/envs/FAF/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])
  • 修改第一行内容至新的环境如下

    • #!/home/excelsior/miniconda3/envs/FAF/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())
    • (FAF) excelsior@dlu:~/miniconda3/envs$ pip list # 检验能否正常使用
      Package                  Version
      ------------------------ -----------
      absl-py                  2.1.0
      certifi                  2025.4.26
      charset-normalizer       3.4.2
      contourpy                1.3.2
      cycler                   0.12.1
  • 可以看到A主机是安装的完整的conda,B主机安装的是miniconda,只要是Nvidia显卡驱动支持环境的Cuda版本,就能够通用
  • 适配需求

    • 遇到了就自然知道了,嘻嘻(●'◡'●)

本文由 fmujie 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论

召唤看板娘