當老板把服務器環境告訴你,并且告訴你出于安全考慮不能與外網連接,你原來那些能夠自動解決依賴問題的手段都不能用了?是不是淚奔崩潰中?沒有,那么花了一天時間發現還沒搞定的時候是不是崩潰了?
你以為學了我上文告訴大家的方法就可以了?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