如何将作为非root用户安装的python安装重新定位到另一台服务器上的另一台服务器上?

时间:2013-05-01 21:22:32

标签: python python-2.7 pip

我们有两台Linux服务器,一台是专用网络,没有互联网接入。另一种是在具有互联网接入的公共网络上。两台服务器都运行相同的RHEL-5操作系统。

在具有Internet访问权限的服务器上,我在我的主目录下以非root用户身份安装了python。然后我使用pip来安装其他软件包,pip还解析了依赖项并安装了所需的依赖项。

如何将此python重定位到没有root访问权限的服务器?另外我想将它作为root重定位在不同的目录下?

为什么我要这样做?由于私有服务器没有互联网访问权限pip不能用于安装100个模块和依赖项。由于服务器运行相同的操作系统版本,有没有简单的方法将安装在一台服务器上的python重新定位到另一台服务器,但是在另一个目录中呢?

1 个答案:

答案 0 :(得分:1)

如果可能的话,我会尝试通过前门实际安装其他服务器上的软件包。克隆所有包原则上应该等同于以下内容:

  1. 在第一台计算机上(具有Internet访问权限和已安装的软件包):

    mkdir /tmp/pypackages
    pip install -r <(pip freeze) -d /tmp/pypackages
    
  2. 在第二台机器上:

    • 将包复制到/tmp/pypackages
    • 安装它们:

      cd /tmp/pypackages
      pip install *
      

      (以root用户身份或普通用户身份)。

  3. 请注意,当我尝试在我的机器上运行第一组命令时,我会收到一些错误,我指责pip freeze显示的所有软件包实际上都没有安装{{1} }。您可能还需要过滤该列表。将pip的输出保存到文件并进行编辑可能会更容易。

    P.S。 pip freeze本身也可以通过系统包管理器在本地下载,传输和安装。

相关问题