怎么給離線環境服務器快速安裝需要的python包(續)

當老板把服務器環境告訴你,并且告訴你出于安全考慮不能與外網連接,你原來那些能夠自動解決依賴問題的手段都不能用了?是不是淚奔崩潰中?沒有,那么花了一天時間發現還沒搞定的時候是不是崩潰了?

你以為學了我上文告訴大家的方法就可以了?so young so naive!!!

并不能!

因為你根本沒搞清楚你的服務器環境,你會發現你雖然費勁巴拉的手動安裝完,但并沒有解決報依賴包不存在的錯!

年輕人,怪就只怪自己年輕!

你并沒有查看 你服務器上有幾個python版本,你需要按照如下方法操作:

1、查看服務器安裝版本和路徑,以及默認python路徑。

# whereis python

>python: /usr/bin/python3.5m /usr/bin/python2.7 /usr/bin/python3.5-config /usr/bin/python2.7-config /usr/bin/python3.5m-config /usr/bin/python3.5 /usr/bin/python /usr/lib/python2.7 /usr/lib/python3.5 /etc/python2.7 /etc/python3.5 /etc/python /usr/local/lib/python2.7 /usr/local/lib/python3.5 /usr/include/python3.5m /usr/include/python2.7 /usr/include/python3.5 /usr/share/python /home/lst001/anaconda3/bin/python3.6 /home/lst001/anaconda3/bin/python3.6-config /home/lst001/anaconda3/bin/python /home/lst001/anaconda3/bin/python3.6m /home/lst001/anaconda3/bin/python3.6m-config /usr/share/man/man1/python.1.gz

瞧,我有三個版本,預裝的2.7 3.5以及我自己裝的anaconda3 里面帶的3.6.再看一下默認版本:

lst001@lst001:~$ python

Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56)

lst001@lst001:~$ python2

Python 2.7.12 (default, Dec? 4 2017, 14:50:18)

lst001@lst001:~$ python3

Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56)

你以為這樣完了,并沒有,你會發現隨后通過pip安裝的包,在python里使用import命令提示找不到module,排查后發現pip安裝在了默認的python 2.7的文件夾下。

這是由于sudo命令下python的尋址結果依然為python 2.7,因此在pip安裝文件夾下,通過sudo命令sudo python setup.py install安裝pip,會默認安裝至python2.7的文件夾下。

你需要知道sudo python 以及pip pip3 和sudo pip 都指向哪里。所以 依次驗證

sudo python?

sudo python2

sudo python3

pip -V

pip3 -V

sudo pip -V?

sudo pip3 -V

發現都不一樣,怎么解決?使用update-alternatives

方法:

jennifer@jennifer-pc:~$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 20

[sudo] jennifer 的密碼:

update-alternatives: 使用 /usr/bin/python2.7 來在自動模式中提供 /usr/bin/python (python)

jennifer@jennifer-pc:~$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 50

update-alternatives: 使用 /usr/bin/python3.5 來在自動模式中提供 /usr/bin/python (python)

jennifer@jennifer-pc:~$ sudo update-alternatives --config python

[sudo] jennifer 的密碼:

有 2 個候選項可用于替換 python (提供 /usr/bin/python)。

選擇? ? ? 路徑? ? ? ? ? ? ? 優先級? 狀態

------------------------------------------------------------

* 0? ? ? ? ? ? /usr/bin/python3.5? 50? ? ? ? 自動模式

1? ? ? ? ? ? /usr/bin/python2.7? 20? ? ? ? 手動模式

2? ? ? ? ? ? /usr/bin/python3.5? 50? ? ? ? 手動模式

要維持當前值[*]請按<回車鍵>,或者鍵入選擇的編號:

查看python本版,已經成功切換到3.5

jennifer@jennifer-pc:~$ python --version

Python 3.5.2 :: Anaconda 4.2.0 (64-bit)

jennifer@jennifer-pc:~$ sudo python

Python 3.5.2 (default, Nov 23 2017, 16:37:01)

[GCC 5.4.0 20160609] on linux

Type "help", "copyright", "credits" or "license" for more information.

參考文章鏈接:https://blog.csdn.net/JasonDing1354/article/details/50470109

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容