Python Anaconda虚拟环境导出与重现指南

文章目录

  • 1. 场景
  • 2. 解决方案
  • 2.1 方案一:直接将环境打包,然后将包传输到另外一台服务器
  • 2.2 方案二:导出环境所有的包名及版本,然后重新安装
  • 1. 场景

    我们有时候需要把一个虚拟环境迁移到别的服务器上面去,这时候,我们有多种办法可以解决。

    2. 解决方案

    2.1 方案一:直接将环境打包,然后将包传输到另外一台服务器

    Step1: 虚拟环境包传输
    例如,我现在有个命名为octh的虚拟环境包,那么在我的Anaconda安装目录下会有一个envs目录:

    这里就可以大力出奇迹:将你需要的环境包直接传输至另一台服务器的anaconda/envs/目录下,至于文件在服务器之间传输的教程,可参考我的另外一篇博客:linux服务器之间传输数据

    Step2:修改新服务器虚拟环境包pip的路径
    在新服务器中的传输过来的虚拟环境包的bin目录下有个pip文件:

    使用vim pip命令,修改里面第一行的路径:

    #!//data/greatwall03/anaconda3/envs/test/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())
    

    修改上面类似代码的第一行路径!

    Step3: 更新环境
    使用如下命令更下一下环境:

    source ~/.bashrc
    

    在重新激活所需环境即可。但这种方法有些麻烦!

    2.2 方案二:导出环境所有的包名及版本,然后重新安装

    Step1: 导出虚拟环境的信息
    将但前环境使用conda activate 切换为需要转移的环境,然后使用如下命令,导出环境的各项安装包:

    conda env export > environment.yml
    

    命令执行完后,会生成一个environment.yml文件,导出的文件如下所示:

    里面就包含各种安装包的名字及版本。

    Step2: 在新的服务器里面重新弄安装环境
    根据上述的environment.yml文件重新安装环境,命令如下:

    conda env create -f environment.yml
    

    本节完!

    作者:陈壮实的搬砖生活

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python Anaconda虚拟环境导出与重现指南

    发表回复