windows/linux: 離線安裝python+python三方庫的一種方法

2020-10-12 22:00:15

windows或者linux通常會由於生產環境的原因,不得不離線安裝,筆者也是走過一些坑,也參考了網上很多方法,一次偶然發現瞭如下最穩定和快捷的方法。

一 離線安裝python

這一步沒有什麼好說的, python官網下載歷史釋出版本,筆者測試時windows生產環境選擇的是python3.6.8,windows自然是選擇executable installer版本的可執行程式。

然後就是檔案拷貝過去,一頓咔咔點,就完成安裝了。

二 離線安裝python三方庫

1 可上網電腦環境準備

在可上網電腦準備一個和你離線下載的python版本一致的虛擬環境。

如上步操作中,筆者選擇的是python3.6.8,環境準備如下:

 conda create -n test_env python=3.6.8

這裡使用的是conda建立虛擬環境, 不會conda的移步conda使用指南

2 建立一個專門存放python三方庫離線包的資料夾

mkdir python_lib

隨便找個地方,筆者建立了一個叫python_lib的資料夾,用來存放準備下載的離線包。

3 下載python三方庫的離線安裝包

首先進入剛剛建立的資料夾:

cd python_lib

再啟用剛建立的虛擬環境:

activate test_env

作為演示,筆者將安裝一個對於茶樹菇而言很強大的東東jupyter,以及資料處理會用到的pandas

3.1 jupyter

在剛剛的python_lib資料夾下建立一個jupyter資料夾:

mkdir jupyter

使用pip 下載離線包:

pip download jupyter

這樣conda會自動關聯你的python3.6.8下載對應的jupyter版本以及其依賴包。

pip download命令下載的包會出現三種情況:

  1. 檔名裡含有none-any字樣且格式為.whl的檔案;
  2. 檔名裡不含有none-any字樣且格式為.whl的檔案;
  3. 檔案格式為.tar.gz的檔案。

此處jupyter的安裝包為第一種情況。

先將整個jupyter資料夾拷貝到離線pc, 執行以下操作:

pip install D:\python_lib\jupyter\jupyter-1.0.0-py2.py3-none-any.whl --no-index --find-links=D:\python_lib\jupyter

咔咔一頓把依賴包安裝完後,可以根據自己喜好設定jupyter

筆者在啟動jupyter notebook時,電腦報錯:OSError winerror這樣的錯誤,別慌,執行如下操作:

netsh winsock reset

重置一下winsock,然後重新啟動你的pc。

3.2 pandas

前面過程一樣,略。

pip download pandas

pandas的離線安裝包是上文中的第2種情況,安裝指令:

pip install D:\python_lib\pandas\pandas-1.1.3-cp36-cp36m-win_amd64.whl --no-index --find-links=D:\python_lib\pandas

至於第三種情況,使用pip download出現.tar.gz的包的情況,筆者遇到的是下載低版本cx-Oracle時出現的,pip 將其編譯為.whl檔案失敗。

不過這樣的檔案也是可以安裝的。

將其拷貝到目標pc,解壓.tar.gz檔案為.tar, 雙擊進入此.tar檔案, 將裡面一層的.tar檔案剪下到另一個資料夾中,再次解壓。

然後使用cmd進入到此資料夾:python setup.py

當然你也可以直接用:pip install xxxx.tar.gz

不過筆者給的建議是,使用pip download出現.tar.gz時你就要慎重考慮python和庫之間的版本取捨了,因為強行安裝,始終是麻煩且不討好的事情。

看到這裡,給筆者點個贊吧,謝謝!