我是如何使用pip意外安装两个版本的软件包的?

时间:2017-05-08 22:46:25

标签: python pip

希望有一个合理的解释,但我刚刚遇到weird issue我在服务器上安装了同一个软件包的多个版本。

我只使用pip安装。我通过运行升级:

pip install --upgrade -r requirements.txt

但是,如果你看一下上面的链接(并总结如下),你会发现我能够使用pip连续两次卸载相同的包。首先卸载了0.15.3版本(我想安装的版本),然后卸载了一个不应该存在的旧版本。

↪ ../.virtualenvs/courtlistener/bin/pip uninstall django_filter
Uninstalling django-filter-0.15.3:
Proceed (y/n)? y
  Successfully uninstalled django-filter-0.15.3

# Great. It's uninstalled.


↪ ../.virtualenvs/courtlistener/bin/pip install django_filter
Requirement already satisfied: django_filter in /var/www/.virtualenvs/courtlistener/lib/python2.7/site-packages

# HUH?!

↪ sudo ../.virtualenvs/courtlistener/bin/pip uninstall django_filter
Uninstalling django-filter-0.11.0:
Proceed (y/n)? y
  Successfully uninstalled django-filter-0.11.0

我想了解这是怎么发生的,所以我可以肯定它不会再发生。理清是一件非常痛苦的事。

1 个答案:

答案 0 :(得分:1)

不幸的是,它有时会发生。刚刚发现了两种可能性(但可能会以不同的方式发生)。

pip bug

Ubuntu 12.04的

python-pip(1.0-1build1)有一个错误导致程序包无法删除。

pip is not uninstalling packages(查看Oz123答案)。他的建议不是使用发行点。相反,请使用上游的点子。

的easy_install

刚刚测试过easy_install,它没有删除软件包:

'//div[@class="search0013"]/input'

在这种情况下,建议不要使用easy_install。

Why use pip over easy_install?(接受的答案有更多原因)。