本熊得知现在比较流行的分析语言有R和Python,于是有了新一轮的实验,但是作为初学者,听闻Python的版本间差异很大,本熊的教科书用的也是Python2.7.1的版本。但时代总是载进步,于是本熊也装上Python3.5 于是就作死了,在安装pip时,出现了VersionConflict的错误提示,是想删删不了,重装也没用,但本熊回想到了Nutch实验中的招数,便有了以下方案
本熊的配置:
Linux Mint 17.3 "Rosa"
(可能与Unubtu有小小的不同,但不影响)-
问题描述:
无法使用pip命令,提示VersionConflict
pkg_resources.VersionConflict
Requirement.parse('pip==1.5.4'))
1.问题的起因
因为把Python写成了typhon,慢着,这不是真的原因,本熊开个玩笑,虽然本熊就写着typhon在图书馆搜了一天,居然还找到了想要的书。看来现在的图书馆搜索引擎也蛮牛的。
安装了多版本的python
本熊为了学习python安装了不同的版本,各位也可以在/usr/local/lib
目录下看见自己安装的python版本,本熊的是这样的
可以看出本熊的机子上有2.7 , 3.4 , 3.5这三个版本的python,在之前关于python的安装指南中,本熊有提到如何替换新旧版本的python,就是修改软连接的方法,但这招在这里不管用。
于是需要投机取巧啦,本熊马上附上
2.这个是错误的解决办法,试了必定重装
1.这个是反面教材,但这里的方法是解决一些棘手问题的最终手段,不要轻易尝试
2.凡是看到修改软连接的方法一定要三思,就是 ln 命令的那种
3.还有直接修改文件的方式也是,因为会破坏系统原有的引用,可能导致全面崩坏的结局
4.不用怀疑,就是下面这个又臭又烂的长文章,它是错误的,真正的解决方法在最后
本熊虽然没学过linux,但是 pip 这个命令,本熊知道在
/usr/bin
下一定存在一个同名可执行文件,果然不出本熊所料的找到它啦-
用文本编辑器或者vim招呼这个pip文件,可以看见里面长这样的
有没有很眼熟啊,错误提示中有一句和这里一模一样
接下来各位查查看自己装的pip的版本,各位还记得那个错误提示吗?本章第一张图里,那个pip 8.1.2就是指的安装的pip版本
-
接下来施展替换大法,把1.5.4全部换成8.1.2,就是已经自己安装的版本,各位按自己的需求改,如下图
-
最后在终端输入 pip,发现可喜可贺的成功解决啦
接下来就可以用pip安装各种想要的东西啦
3.这才是正确的解决办法
比起venv或virtualenv,本熊推荐使用Anaconda来一劳永逸的收拾了这些依赖上引发的问题
Linux中调用的库极多,如果一个个都用apt-get或者pip来处理,不出问题的可能性很低,所以推荐Anaconda 来实现统一管理,这个可以为您提供科学运算,网站建立各种各样的依赖,感谢讨论区给出的提醒,差点误人子弟,实在惭愧
主要首先是重建Linux系统的依赖,将其指向Anaconda,这个不用担心,因为在安装Anaconda时,一路yes,它就帮你处理好了,最后在按照安装时的提示,添加export指令,再执行source指令就可以了
总结
常有人说编程就是重复人为过程,连小学生都学的会。本熊不认可这个说法,你倒是找个小学生试试啊?
当然这只是玩笑话,本熊觉得编程不只是重复再重复,万变不离其宗,本熊要是没有之前Nutch实验的基础,今日也想不出这一手。许许多多的小聪明能积攒成大智慧,但本熊还是希望将来的本熊可以在工资和女人心和吃上多多钻研,享受生活才是人生的大智慧