python 通過pip freeze、dowload打離線包及自動安裝【適用於保密的離線環境】


python的pip是其包管理工具,相當方便好用。本文只介紹pip 如何通過其freeze命令打離線包,及其離線包的安裝腳本。這個知識點,特別適用於不適合連通互聯網,設備需要物理隔絕,保密要求嚴格的客戶環境。

 

環境

操作系統: Centos 7.7

python 版本: 2.7

客戶網絡環境: 離線

研發網絡環境:聯網

 

  • pip 安裝

(1)下載rpm包

首先研發環境(聯網),去 https://pkgs.org/download/python-pip 選擇合適的pip rpm離線包下載,如下圖:

選擇一個rpm鏈接,點擊進去,然后在下載模塊,選擇二進制文件相關下載地址下載即可【CoderBaby】,如下圖:

 

 (2)rpm 安裝pip離線包

rpm -ivh python2-pip-8.1.2-10.el7.noarch.rpm  (rpm離線包完整路徑名

 

(3)升級pip

通過舊版的pip install 命令升級pip到最新版本,具體如下:

pip install packages/pip-20.2.3-py2.py3-none-any.whl (從pypi官網下載.whl包: https://pypi.org/project/pip/#files

 

(4)pip freeze 將系統已安裝的包按照需要的格式打包

具體命令如下:

pip freeze >requirements.txt  (重定向,並且指定輸出文件名稱、格式、路徑)

結果如下:

 

 (5)pip download 下載離線包

具體命令如下:

pip download -d packages -r requirements.txt (將requirements.txt里指定的包名和版本—【可根據需要,編輯requirements.txt,刪除不需要打包的包】打包到默認packages文件夾下)

結果如下圖:

 

(6)通過shell腳本安裝離線包

具體shell腳本命令如下:

pip install --no-index --find-links=packages -r requirements.txt 

說明:

首先將packages文件夾和requirements.txt拷貝至離線服務器:packages文件夾放在任意目錄下,requirements.txt放在同級目錄

相關目錄結構如下圖:

 

注:

  • python 2.6.6 升級到 2.7

centos 6 自帶的python 版本為2.6.6,需要升級到2.7,詳情可參考:https://www.cnblogs.com/gjc592/p/9223005.html 

【@2020/12/7國內各大鏡像棄用CentOS 6了,因為截至2020/11/30,CentOs6停止維護更新了,參見:https://www.v2ex.com/t/733142


免責聲明!

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



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