在企業內部網路、實驗室、或伺服器因安全性無法連網時,要用 pip 安裝 Python 套件常常變成一場噩夢。但其實,只要先在有網路的地方打包好套件,就能在完全離線的環境中順利安裝。

這篇文章帶你從頭到尾搞懂 pip 離線打包與安裝的完整流程,讓沒有網路的 Python 環境一樣能安裝需要的套件。


為什麼需要離線安裝?

  • 內網環境(無法直接連 PyPI)

  • 伺服器安全政策禁止連網

  • 在機房或特殊硬體(醫療、工控)環境下工作


步驟一:在有網路的環境打包套件

  1. 建立一個資料夾存放套件:  

mkdir packages

使用 pip download 把目標套件和依賴全部下載下來:

 

 

pip download -d packages numpy pandas
    • -d packages 表示存放路徑

    • pip download 不會安裝,只是下載 .whl.tar.gz

  1. packages 資料夾(或壓縮後的檔案)帶到離線環境。


步驟二:在離線環境安裝

進入有套件檔案的資料夾,使用以下指令:

pip install --no-index --find-links=packages numpy

參數解釋:

  • --no-index:不要去 PyPI 查詢

  • --find-links=packages:指定套件來源為本地資料夾


如果有 requirements.txt?

只要在有網路的環境先下載所有套件:

pip download -d packages -r requirements.txt

到了離線環境再執行:

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

進階技巧

打包成壓縮檔方便搬運

tar -czvf packages.tar.gz packages

離線後再解壓縮:

tar -xzvf packages.tar.gz

指定平台或 Python 版本

若離線機器環境不同,可提前下載對應版本:

pip download --python-version 38 --platform win_amd64 --only-binary=:all: -d packages some_package

結論

透過 pip download 先把套件與依賴完整打包,再用 pip install --no-index --find-links 在離線環境安裝,就能完全脫離網路限制,輕鬆部署 Python 專案。


 

我的補充
真的下載套件後
可能會下載很多其他套件
但是不一定要全部安裝
可以先放入主要套件安裝
安裝時說缺少XXX再把缺的套件複製進去即可
避免又有非必要的升級

給大家參考喔~