Fork me on GitHub

生产服务器上安装Python

2018-05-17 

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

一、更改pip源

- 默认pip是使用Python官方的源,但是由于国外官方源经常被墙,导致不可用,我们可以使用国内的python镜像源,从而解决Python安装不上库的烦恼

网上有很多可用的源,例如:
豆瓣:http://pypi.douban.com/simple/
清华:https://pypi.tuna.tsinghua.edu.cn/simple
注意后面要有/simple目录!!! 

1、临时使用,只有安装pillow时使用指定源

1、临时使用,只有安装pillow时使用指定源

 

2、永久修改

Linux下,修改 ~/.pip/pip.conf (没有就创建一个), 修改 index-url至tuna,内容如下:
 [global]
 index-url = https://pypi.tuna.tsinghua.edu.cn/simple
  
windows下,直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini,内容如下:
 [global]
 index-url = https://pypi.tuna.tsinghua.edu.cn/simple

二、pip的安装

官方文档:   https://pip.pypa.io/en/stable/installing/

1、下载get-pip.py脚本执行

python get-pip.py

2、源码安装

  • setuptools (https://pypi.org/project/setuptools/#description)

     tar zxvf setuptools-0.6c11.tar.gz

    cd setuptools-0.6c11

     python setup.py install

  • 下载pip

          进入https://pypi.python.org/pypi/pip,下载第二项。

          解压下载的文件(windows下只用解压工具解压如RAR,Linux下终端输入tar -xf pip-9.0.1.tar.gz,即tar -xf 文件名),进入解压后的文件夹中,调出命令行窗口或者终端,

  • windows下输入
python setup.py install
  • Linux下输入
sudo python setup.py install
  • 安装成功后测试下,输入
pip -v

三、离线安装

1、通过代理服务器连接外网安装

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

$ export https_proxy=http://proxy.mydomain.com:<port>

$ export http_proxy=http://proxy.mydomain.com:<port>

$ pip install <package>

2、离线安装

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

https://pip.pypa.io/en/stable/reference/pip_download/#pip-download

(1)下载需要离线安装的Packages

  • 安装单个Package
$ pip download -d path SomePackage  # equivalent to above

  • 安装多个Packages

 pip download -d path SomePackage  -r requirements.txt 

(2)将下载好的Packages拷贝至内网服务器

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

  (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

  

posted @ 2018-05-17 21:07  辉大  阅读(1167)  评论(0编辑  收藏  举报