• ubuntu主机之间移植python环境并修改pip指向


    为了便于描述,假定有两台ubuntu主机,分别为A主机和B主机,场景为将A主机上已安装好的python3.7的环境移植到主机B中。

    环境移植的方法可以方便的解决多主机同时部署同一个python环境的问题,也可以解决由于其他原因,python环境无法在某台主机上正常安装的问题。

    1、在主机A上创建py37环境

    图形界面的,可以按anaconda的方法进行创建;没有图形界面的,可以利用conda命令进行创建。我们创建一个python3.7的环境,并命名为py37。

    py37环境创建完成以后,激活该环境,并安装相应的包,比如安装Numpy (pip install numpy).

    2、把环境数据打包

    找到主机A上py37环境的安装位置,linux系统一般会在 ~/.conda/envs目录下,也可能在anaconda安装目录的 envs目录下,如果找不到,在激活当前py37环境下(conda activate py37),使用命令which python 可以显示当前环境的位置,如下图:

     进入到py37环境的目录下,如下图中py37即为py37环境的数据

    使用  如下命令 将数据打包,打包以后就直接把py37_envs.tar.gz复制到主机B上。

    tar czvf py37_envs.tar.gz ./py37/*

    3、主机B上的配置

    将py37_envs.tar.gz复制到主机B上任意位置,本例直接得到到/root/目录下。

    解压命令如下,解压之后,在/root目录下会有py37的目录

    tar cxvf py37_envs.tar.gz

     之后,将py37环境添加到主机B的路径中

    export PATH=/root/py37/bin:$PATH

    此时,可以在命令行输出 python 测试是否可以正常打开,如下图

    4. 修改pip指向,以使pip可以正常工作

    因为在主机B上Python3.7的环境是从主机A复制而来的,所以pip所指向的python的路径可能是不一样的。比如在本例中,主机A上pip的指向为下图中红框的路径:/home/test/.conda/envs/py37/bin/python

     而在主机B上,python3.7的路径是/root/py37_envs/bin/python,所以如果不修改pip的指向,pip无法使用,即不能安装新包到python3.7中(这里假设主机B也是可以联网的)

    修改方法:

    打开主机B上的pip文件和pip3文件,将第一行的路径(即上图中红框中的路径修改为主机B上python3.7的路径,在本例中为/root/py37_envs/bin/python)

     修改完成以后,可以使用pip -V测试是否正常,可以安装新的包试试,比如

    pip install dnspython

  • 相关阅读:
    C++设计模式_13_Flyweight享元模式
    Python数据挖掘项目实战——自动售货机销售数据分析
    面向对象编程
    ATA-8061射频功率放大器应用领域介绍
    Stability AI发布Stable Diffusion 3;谷歌修复Gemini大模型文生图多元化Bug;李一舟AI课遭下架
    postman使用旧版本报错version mismatch detected后如何恢复使用
    GitHub标星90K,这份持续霸榜的Leetcode刷题手册到底有多强?
    php毕业设计美食菜谱网站
    毫无基础的人如何入门Python?从入门到进阶三份教程,拿走不谢
    b、B、KB、Kib、MB、MiB、GB、GiB、TB、TiB的区别
  • 原文地址:https://blog.csdn.net/FY_2018/article/details/127137564