前言
-
從 medium 搬過來新站這邊,並陸續更新了一些細節
-
medium 那邊這年後會陸續刪除。
-
Python 3.4 與 Python 2.7.9 之後安裝包都有內建 pip 了,可以不用另外安裝
-
以下原來的文章供參考
今天 (2018-03-05) 在客戶端的 CentOS 6 離線安裝了 pip,一定要紀錄一下,不然每次換新環境要用 Python pip 都搞好久。
Step 0:hen 重要
-
Windows 先安裝 Python
-
CentOS 內建 2.6.x 或 2.7.x 版
- 若要用 3.7.x 版要另行安裝:自己 compile 可參考這篇。
-
如果有機會連網的話 (但是是 python 3.6):
|
|
我習慣用 Python 3.7;附上這篇的系統資訊:
# Windows 10
# └─ Python 3.7
#
# 更新版本號 2019-07-27 (之前是用 Python 3.6)
# CentOS 6
# └─ Python 2.6
# CentOS 7
# └─ Python 2.7
Step 1:安裝 pip
Windows get pip (Online)
-
拿到
get-pip.py
。
你可以:google “get-pip py
”,或是直接下載。 -
進入 CMD 後執行:
|
|
ERROR!
如果有錯誤、 CMD 跟你說找不到 python 這個指令在哪裡,那就是因為環境變數未設定好的關係,請參考最下面的環境變數設定。
設定完成後,如果在 CMD 裡面輸入 python 能成功執行的話就沒問題了。
Windows get pip (offline)
- 連上 Wi-fi 或是插網路線,然後參考上方 Windows pip (Online)。
我說真的。
反正就是想辦法拿到 get-pip.py
丟進系統就對了。
CentOS get pip (Online)
- 要先確定環境是否有
epel repo
,下一步才能直接用yum
安裝:
|
|
- 拿到
get-pip.py
。
|
|
如果你執意要在 CentOS 上裝 Python3.x 的 pip,那就必須
-
先安裝 Python 3.x
-
pip module 的名稱要改成:
|
|
CentOS get pip (Offline)
-
離線安裝就比較麻煩一點,首先要先拿到
pip-19.2.1-py2.py3-none-any.whl
(之前還是 pip9 現在已經 19 了…),可在這裡下載。 -
然後用任何方式上傳到你的主機,你可以從本機上傳、或到可連網的主機
wget
再scp
過來;拿到檔案後cd
到該路徑。 -
執行以下指令,用自己安裝自己 (注意對應版本)
|
|
# 更新版本號 2019-07-27
儘管提出這個用法的大神說如果有錯誤要另尋他路,但目前測下來沒什麼大問題。
Step 2:使用 pip 安裝 python module
有了 pip 之後要安裝其他 python 的套件就方便多了。
Windows (Online):
進入 CMD 後輸入:
|
|
Windows (Offline):
進入 CMD 後輸入:
|
|
CentOS (Online):
|
|
CentOS (Offline):
|
|
補充:
1. 在線上直接打包相關 .whl 檔供離線安裝
當你已經安裝好 pip,可是主機環境都是離線的狀況下 (例如機房),要如何快速安裝想要的 module?
你可以在可連網的電腦上使用以下指令 (Windows 前面要加上 python -m
):
|
|
指令下下去之後,你指定的路徑就會放你需要的 .whl 了,之後再到對應路徑用
|
|
就能順利離線安裝其他你要的 module 了。
2. Windows 環境變數的部分
為了將 _python _加到環境變數,你可以如一般的教學:
-
右鍵點擊 [本機] → [內容] → [進階系統設定] → [環境變數]
-
或是以系統管理員身分進入 CMD (Ctrl+Shift+Enter):
然後輸入這行捷徑:
|
|
不過相信我,這沒有比較快。
開啟環境變數視窗後,找到 [系統變數] → 雙擊 [path],
再將 Python 的路徑貼到系統變數的 path 裡面即可。
你說 Python 路徑在哪裡?
如果不在以下這兩個地方,可能你在裝 Python 的時候有什麼誤會,就只能另外在「開始」或用搜尋工具找囉。
|
|
OR
|
|
建議未來安裝 python 的時候可以選 Customize
客製化安裝,這樣可以確保你知道你把它裝在哪裡。
3. 什麼是環境變數?為什麼要設定環境變數?
環境變數簡單來說就是提供系統、或一般的應用程式運作時使用的參數。
舉例來說,給定一個虛構的路徑 _D:\mydata_ 並叫它 DataPath:
|
|
每個人的資料路徑 (DataPath) 都不一樣,我說我的在 _D:\mydata_,你的可能叫做 _D:\alldata_。
如果程式把他寫死、統一都由 _D:\ mydata_ 出發,萬一你電腦的資料路徑長得不一樣,就無法在你的電腦執行、全部跳錯了。
因此,為了確保程式能正常運作,我只要在程式裡面寫 DataPath,至於實際上的環境 _DataPath _究竟在哪裡,到時候再由系統給定環境變數就可以正常運作了。
詳細介紹可參考這篇比較詳細的說明。
REF
-
直接開啟環境變數視窗:
1. [https://serverfault.com/questions/351129/can-the-environment-variables-tool-in-windows-be-launched-directly](https://serverfault.com/questions/351129/can-the-environment-variables-tool-in-windows-be-launched-directly)
2. [https://superuser.com/questions/651039/how-to-get-to-environment-variables-from-run](https://superuser.com/questions/651039/how-to-get-to-environment-variables-from-run)