Linux下多版本python与多版本pip以及对应安装库包管理

哎!博主在实践过程中,遇到很多坑,甚至开始怀疑人生咯!幸好在第二天冷静下来思考尝试后,成功的实现了,现在,我将此失败经历记录下来,希望后来的我们不再痛苦。

博主的机器安装的是Ubuntu14.04,所以自带了python2.7以及python3.4,但是博主可能是强迫症患者,偏偏想要使用python3.6,以及想要利用python3.6来运行python代码,但是我的代码中需要用到numpy这个基础库包,当我利用命令下载完之后,python2.7可以用这个包,并且不报错,可是我们python3.6一直没法很好的运行,崩溃,报的错误各种各样,大致就是缺少什么模块之类的问题。

大致在网上查了一下,其中有个说法可能是符合我遇到的情况,意思大概就是,我们没有很好的将python3.6以及python2.7分离开来,所以安装的numpy包也没能有效的加载。

问题一:解决python各个版本之间切换的问题
方案是通过修改软链接以及相关配置文件,实现:

python切换命令 更改前对应版本 更改后对应版本
python python2.7.6 python2.7.6
python2 python3.4.3
python3 python3.6.3 python3.6.3

首先,查看相关python可执行目录,然后将其删掉

$ which python
/usr/bin/python

$ sudo rm /usr/bin/python

$ python
~bash: /usr/bin/python: No such file or directory

删掉之后,再输入$ python命令就会报错,因为系统不知道该如何执行,然后我们可以通过建立默认连接到对应的python版本上,这就是我们需要的操作。

$ ln -s /usr/bin/python2.7 /usr/bin/python

$ python -V
Python 2.7.6

至此就完成默认版本的修改了,也可以用同样方法修改python2和python3,最终的效果是:Linux下多版本python与多版本pip以及对应安装库包管理_第1张图片

问题二:多版本pip与python对应

pip切换命令 更改前对应版本 更改后对应版本
pip 对应python2.7.6 对应python2.7.6
pip3 对应python3.6.3

这里就不要绑定过多啦,毕竟有很多是用不上的。所以我这边首先就是讲一下下载pip3的问题,下载的同时将其分离开来。
1、安装pip前需要前置安装setuptools
命令如下:

wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26

tar -zxvf setuptools-19.6.tar.gz

cd setuptools-19.6

sudo python3 setup.py build

sudo python3 setup.py install

2,安装pip

wget --no-check-certificate  https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb

tar -zxvf pip-8.0.2.tar.gz

cd pip-8.0.2

sudo python3 setup.py build

sudo python3 setup.py install

最后检验下,pip3是否安装成功吧!
Linux下多版本python与多版本pip以及对应安装库包管理_第2张图片

问题三:以numpy包为例
1.如果使用python2.7.6,我们下载numpy库包,可以使用命令:

pip install numpy

2.如果使用python3.6.3,我们下载numpy库包,可以使用命令:

pip3 install numpy

最后检验一下,两次检测import numpy均成功!!
Linux下多版本python与多版本pip以及对应安装库包管理_第3张图片

最近,遇到个问题,大致就是将matplotlib中的six库版本不对,但是卸载不掉,又更新不了,烦的要死的时候不断去尝试!

报错的地方:
Installing collected packages: six, matplotlib
  Found existing installation: six 1.5.2
Cannot uninstall 'six'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

针对这个问题,第一个想法,就是更新six,实际上做不到,我尝试了晚上各种套路都不行;第二个方法能不能忽略它,实际上操作过多次,后来突然茅塞顿开,试了下以下的方式,成功通关,妈妈再也不用为我担心了,因为心大。无奈脸~~~~~

sudo pip3 install matplotlib --upgrade --ignore-installed six

看下截图,可能更清楚:
Linux下多版本python与多版本pip以及对应安装库包管理_第4张图片
Linux下多版本python与多版本pip以及对应安装库包管理_第5张图片


在这个数据资源膨胀的年代,网络上的信息太多,也太乱,但是找到你心中最好的答案时,那一刻你是开心的!所以这里需要感谢两个以下链接!!!
https://www.cnblogs.com/rexyan/p/7485549.html
https://www.cnblogs.com/6324TV/p/9063450.html
https://blog.csdn.net/h12590400327/article/details/79178002

你可能感兴趣的:(Linux,python)