python中安装模块包版本冲突问题的解决

yipeiwu_com7年前Python基础

问题

最近在工作中遇到一个问题,在安装python软件包的时候,经常会遇类似这样一个问题。比如对于ipython,机子本身安装的版本是1.2.1,显然太低,不足以跑jupyter,尝试着用pip安装,却发现下载的过程一路畅通,但是安装的时候却总是会报这样一个错误。

错误提示如下:

......'Not uninstalling ipython at /usr/lib/python2.7/dist-packages, owned by OS'......

最终显示了ipython已经成功安装,但是查看version的时候却仍然是1.2.1,弄得我十分头大。

原因

后来研究了一下,发现其实造成这个问题的原因很简单,就是因为ubuntu的apt-get版本与pip安装的版本冲突。由于apt-get的'地位‘要比pip高那么一点(毕竟亲爹),系统会优先使用apt-get 里面的软件包。但是apt-get 里的软件通常特别的老旧,完全无法跟得上python包的更新速度,pip虽然版本新,但是却不能删除apt-get 的老旧版本。。。。。。这就造成了错误中提到的的无法卸载的问题了。

解决方法

至于此,解决问题的方法已经很清楚了,只要手动卸载掉apt-get里对应的过时的软件包即可。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对【听图阁-专注于Python设计】的支持。

相关文章

PyQt5每天必学之带有标签的复选框

PyQt5每天必学之带有标签的复选框

QCheckBox 是具有两种状态的控件:开和关。它是一个带有标签的复选框。复选框通常用于表示应用程序可以启用或禁用的功能。 #!/usr/bin/python3 # -*- cod...

Python中extend和append的区别讲解

append() 方法向列表的尾部添加一个新的元素。只接受一个参数。 >>> num = [1,2] >>> num.append(3) >...

Python 循环终止语句的三种方法小结

在Python循环终止语句有三种: 1、break break用于退出本层循环 示例如下: while True: print "123" break print "45...

python使用电子邮件模块smtplib的方法

python使用电子邮件模块smtplib的方法

Smptp类定义:smtplib.SMTP(host[,port[,local_hostname[,,timeout]]]),作为SMTP的构造函数,功能是与smtp服务器建立连接,在连...

python读取几个G的csv文件方法

如下所示: import pandas as pd file = pd.read_csv('file.csv',iterator=True) while True: chunk...