当老板把服务器环境告诉你,并且告诉你出于安全考虑不能与外网连接,你原来那些能够自动解决依赖问题的手段都不能用了?是不是泪奔崩溃中?没有,那么花了一天时间发现还没搞定的时候是不是崩溃了?
你以为学了我上文告诉大家的方法就可以了?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