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

yipeiwu_com6年前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多线程读写文件加锁的实例详解

Python的多线程在io方面比单线程还是有优势,但是在多线程开发时,少不了对文件的读写操作。在管理多个线程对同一文件的读写操作时,就少不了文件锁了。 使用fcntl 在linux下,p...

python三元运算符实现方法

这是今天在温习lambda表达式的时候想到的问题,众所周知C系列语言中的 三元运算符(?:)是一个非常好用的语句, 关于C中的三元运算符 表达式1?表达式2:表达式3 那么在python...

Python中最大递归深度值的探讨

Python中最大递归深度值的探讨

Python对递归函数设置是有默认值。 可以通过下面命令来查看设置的默认值 >>> import sys >>> sys.getrecursion...

numpy下的flatten()函数用法详解

flatten是numpy.ndarray.flatten的一个函数,其官方文档是这样描述的: ndarray.flatten(order='C') Return a copy of...

python广度优先搜索得到两点间最短路径

python广度优先搜索得到两点间最短路径

前言 之前一直写不出来,这周周日花了一下午终于弄懂了, 顺便放博客里,方便以后忘记了再看看。 要实现的是输入一张 图,起点,终点,输出起点和终点之间的最短路径。 广度优先搜索 适用...