生產服務器上安裝Python

2018-05-17 python

生產環境的服務器(如下簡稱內網服務器)因爲安全限制,可能沒法鏈接外網。這種狀況下將沒法直接使用pip命令安裝python的包windows

1、更改pip源

- 默認pip是使用Python官方的源,可是因爲國外官方源常常被牆,致使不可用,咱們可使用國內的python鏡像源,從而解決Python安裝不上庫的煩惱安全

網上有不少可用的源,例如: 豆瓣:http://pypi.douban.com/simple/ 清華:https://pypi.tuna.tsinghua.edu.cn/simple
注意後面要有/simple目錄!!! 

一、臨時使用,只有安裝pillow時使用指定源

一、臨時使用,只有安裝pillow時使用指定源

 

二、永久修改

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

2、pip的安裝

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

一、下載get-pip.py腳本執行服務器

python get-pip.py

二、源碼安裝網絡

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

     tar zxvf setuptools-0.6c11.tar.gz dom

    cd setuptools-0.6c11 工具

     python setup.py install測試

  • 下載pip

          進入https://pypi.python.org/pypi/pip,下載第二項。ui

          解壓下載的文件(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

3、離線安裝

一、經過代理服務器鏈接外網安裝

內網服務器通常是經過跳板機鏈接的,若你的跳板機能夠正常訪問外網,則能夠考慮在跳板機上架設代理服務器,而後目標服務器經過跳板機的代理訪問外網。

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

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

$ pip install <package>

二、離線安裝

若不具有使用代理服務器的狀況,則先使用一臺能夠鏈接網絡的服務器下載須要的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
相關文章
相關標籤/搜索