生產服務器上安裝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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM