美文网首页Python中文社区
助你提升效率的“Python”使用小技巧(1)

助你提升效率的“Python”使用小技巧(1)

作者: 影森数码科技 | 来源:发表于2020-07-23 10:15 被阅读0次

    1、如何将python环境(或者conda环境)移植到另一台机器(或者远程服务器)?/如何一键导出当前环境中所有已经安装的包列表?

    因为工作或者科研的需求,有时可能会在不同的机器中运行项目,但是很多python开发项目可能因为一个小模块的版本不对,就无法运行。而环境移植方法,可以很好的解决这个问题,而且跟我们手动安装包相比可以剩下大量的环境配置时间,从而提升我们的工作效率。

    注意:环境移植不能跨平台使用,如果是不同的操作系统,这些方法都是无效的,如果是源机器与目标机器是同一个操作系统的话,推荐使用第二种方法进行环境移植。

    第一种方法:使用pip 命令移植环境

    移植环境主要分为三个步骤:

    1. 将要克隆的conda环境通过pip或者conda命令导出成“.txt”文件。
    2. 将“.txt” 文件移植到目标机器。
    3. 使用“.txt”文件通过pip或者conda命令安装需要的环境。
    (1)使用python 导出当前环境所有安装的包的列表并将环境文件移植到所需机器
    pip freeze > requirements.txt
    

    其中 requirements.txt 为你导出包的列表存档的名称,当然如果你想的话可以自定义它。

    (2)使用scp命令将环境文件拷贝到目标机器/或者用U盘也可以
    scp -r /path/to/file username@example.com:/path/for/file
    
    # -r (recursive)递归拷贝参数,如果拷贝的是整个目录需要加上。
    # “/path/to/file” 填写的是本地文件路径
    # “username” 是目标机器用户名
    # “example.com”可以是目标机器的ip地址或者是机器域名
    # “/path/for/file”是目标系统绝对路径
    
    (3)使用pip 安装 requirements.txt 中的所有包
    pip install -r requirements.txt
    

    其中 requirements.txt 为你导出包的列表存档的名称。


    第一种方法的conda版本

    (1)使用 conda 命令导出当前环境的包列表。
    conda list -e > requirements.txt
    
    (2)使用 conda 命令安装导出包列表文件中的所有包。
    conda install --yes --file requirements.txt
    

    注意:如果conda命令无效时,请使用上面的pip进行安装。

    导出的 “.txt” 环境文件

    第二种方法: 使用conda导出环境包列表的“.yaml”文件进行环境移植

    移植环境主要分为三个步骤:

    1. 将要克隆的conda环境导出成“.yaml”文件。
    2. 将“.yaml” 文件移植到目标机器。
    3. 使用“.yaml”文件安装需要的环境。
    (1)将要克隆的机器的环境打包
    • 先查看当前目录(这是导出文件的地址)
    pwd # 查看当前目录
    
    • 将原机器的环境打包成为“.yaml”文件,其中“environment_name”是原环境名称。
    conda env export -n environment_name > environment.yaml
    
    (2)移植 ".yaml" 环境文件到目标机器。
    (3)在目标服务器上使用 ".yaml" 文件创建一个新的环境,完成环境移植。
    conda env create -n environment_name -f  environment.yaml  # 指定名称版本
    conda env create -f  environment.yaml #使用原来的环境名称版本
    conda env update --file environment.yaml # 在现有的环境下,仅仅安装列表中的包。
    
    导出的 “.yaml” 环境文件

    END

    最后可以通过命令检查环境是否移植成功。

    conda info -e  # 查看环境是否存在
    source activate env_name  # 激活环境,env_name 是你创建的环境名称
    conda list  # 查看当前环境的包列表
     
    
    每天都是更加努力的自己

    总结

    虽然,每次学习新的东西都会遇到很多挫折,当时我相信每一次尝试,每一次学习都是在向更好的自己迈进,毕竟风雨过后才会出现彩虹,一起加油吧!

    相关文章

      网友评论

        本文标题:助你提升效率的“Python”使用小技巧(1)

        本文链接:https://www.haomeiwen.com/subject/bmtwkktx.html