社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
哎!博主在实践过程中,遇到很多坑,甚至开始怀疑人生咯!幸好在第二天冷静下来思考尝试后,成功的实现了,现在,我将此失败经历记录下来,希望后来的我们不再痛苦。
博主的机器安装的是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,最终的效果是:
问题二:多版本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是否安装成功吧!
问题三:以numpy包为例
1.如果使用python2.7.6,我们下载numpy库包,可以使用命令:
pip install numpy
2.如果使用python3.6.3,我们下载numpy库包,可以使用命令:
pip3 install numpy
最后检验一下,两次检测import numpy均成功!!
最近,遇到个问题,大致就是将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
看下截图,可能更清楚:
在这个数据资源膨胀的年代,网络上的信息太多,也太乱,但是找到你心中最好的答案时,那一刻你是开心的!所以这里需要感谢两个以下链接!!!
https://www.cnblogs.com/rexyan/p/7485549.html
https://www.cnblogs.com/6324TV/p/9063450.html
https://blog.csdn.net/h12590400327/article/details/79178002
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!