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设计】的支持。

相关文章

Python+MongoDB自增键值的简单实现

背景 最近在写一个测试工具箱,里面有一个bug记录系统,因为后台我是用Django和MongoDB来实现的,就遇到了一个问题,要如何实现一个自增的字段。 传统的关系型数据库要实现起来是非...

详解python持久化文件读写

持久化文件读写: f=open('info.txt','a+') f.seek(0) str1=f.read() if len(str1)==0: f1 = open('info...

简单介绍Python的Tornado框架中的协程异步实现原理

Tornado 4.0 已经发布了很长一段时间了, 新版本广泛的应用了协程(Future)特性. 我们目前已经将 Tornado 升级到最新版本, 而且也大量的使用协程特性. 很长时间没...

Python随机数用法实例详解【基于random模块】

本文实例讲述了Python随机数用法。分享给大家供大家参考,具体如下: 1. random.seed(int) 给随机数对象一个种子值,用于产生随机序列。 对于同一个种子值的输入,之后产...

Python类装饰器实现方法详解

本文实例讲述了Python类装饰器。分享给大家供大家参考,具体如下: 编写类装饰器 类装饰器类似于函数装饰器的概念,但它应用于类,它们可以用于管理类自身,或者用来拦截实例创建调用以管理实...