一、前言及環境
1. 場景及整體思路
最近在做一個大數據項目,開發過程中用自己的機子安裝了很多庫,開發完之后需要部署到客戶那邊的環境中,但是客戶那邊的環境是不能聯網的,於是就需要離線進行庫的安裝。
上網搜了一下,大概思路是:
- 從可以聯網電腦導出庫的名稱到文件;
- 下載指定庫到指定文件夾;
- 將庫名稱文件和安裝包拷貝到離線環境進行安裝
整體流程如下圖所示:
整個流程主要使用到庫管理工具pip,我用的是python安裝完已經存在的pip,沒有pip的可自行安裝。
2. 環境
- win10 64bit
- python 2.7.15
- pip 18.1 for python 2.7
注意:后面發現很多問題都是pip版本太低造成的,所以在往下做之前,可以先升級一下pip為最新版本:
python -m pip install -U pip
二、聯網下載庫
1. 導出庫信息
pip freeze > requirements.txt
這個命令是將已經通過pip安裝的包的名稱記錄到requirements.txt文件中。
導出這個文件后,編輯文件,留下你需要的庫,其他刪除。
2. 下載庫安裝包
pip download D:\packages -r requirements.txt
注意:win10有可能因為寫入權限的問題導致無法操作成功,可以直接進入目標文件夾然后執行:pip download -r requirements.txt
將requirements.txt中列出來的庫下載到packages文件夾。
這里要注意,因為我的pip版本比較新,所以用的download,據說老一點的版本應該是install --download:
pip install --download D:\packages -r requirements.txt
注意:如果requirements.txt里面存在不能通過pip安裝的庫,下載過程會報錯。
三、離線安裝庫
將requirements.txt和packages文件夾拷貝到需要離線安裝的電腦,通過以下命令進行安裝:
pip install --no-index --find-links=D:\packages -r requirements.txt
根據pip版本不同,里面的參數有可能是--find-link。
四、參考
(完)

