admin管理员组

文章数量:1571175

生产环境的服务器(以下简称内网服务器)由于安全限制,可能无法连接外网。这种情况下将无法直接使用pip命令安装python的包,下面介绍2种解决方法:

(a) 通过代理服务器连接外网安装

内网服务器一般是通过跳板机连接的,若你的跳板机可以正常访问外网,则可以考虑在跳板机上架设代理服务器,然后目标服务器通过跳板机的代理访问外网。

$ export https_proxy=http://proxy.mydomain:<port>
$ export http_proxy=http://proxy.mydomain:<port>
$ pip install <package>

(b) 离线下载pip包进行安装

若不具备使用代理服务器的情况,则先使用一台可以连接网络的服务器下载需要的packages,然后再拷贝到内网服务器上进行安装。

Step 1. 下载需要离线安装的Packages

在一台可以访问外网的机器上执行如下命令:

安装单个Package

$ pip install <package> --download /tmp/offline_packages

安装多个Packages

$ pip install --download /tmp/offline_packages -r requirements.txt

Step 2. 将下载好的Packages拷贝至内网服务器

使用scp、sftp等方式将下载好的Packages拷贝至需要离线安装这些包的内网服务器。

Step 3. 安装Packages

假设内网服务器的目录 /tmp/transferred_packages 包含你上一步远程拷贝过来packages,在内网服务器上执行如下命令

安装单个Package的情况

$ pip install --no-index --find-links="/tmp/tranferred_packages" <package>

安装多个Packages

$ pip install --no-index --find-links="/tmp/tranferred_packages" -r requirements.txt

本文标签: 外网时PythonPackage