PIP不卸载包(pip is not uninstalling packages)

2019-07-18 21:32发布

背景

我工作的一个学术项目(基本)分析一些“谁跟随谁”的图形和希望得到一些真实数据(通过建立一些小数据集)使用Python Twitter的API的封装之一,以测试的一些想法来自Twitter我有。

我有点粗心,并安装两个包:

一个) python-twitter0.8.2 ( http://pypi.python.org/pypi/python-twitter/0.8.2 )

B) twitter1.9.1 ( http://pypi.python.org/pypi/twitter/1.9.1 )

(一)被称为python-twitter在PyPI中,和(b)被称为twitter ,所以这就是我将把它们。

这两个被称为import twitter在Python解释器,但是当我写的那行,我总是得到twitter一个(如果我能想出如何使用python-twitter一个,我就可以继续进行,但仍会有相同的基本问题)。


问题

因为我不需要在twitter包,我决定与PIP卸载它:

$ sudo pip uninstall twitter

其给出的输出:

Uninstalling twitter:
Proceed (y/n)? y
  Successfully uninstalled twitter

(实际上,我试着用同样的事情python-twitter ,并得到了类似的反应)。

但是,在运行时pip freeze ,这两个包的出现已安装的名单上! 事实上,我仍然可以使用import twitter成功命令解释器。 显然,包没有被卸载。 我很想知道的是如何将其卸载!


其他信息

我使用Python 2.7和Ubuntu 12.04

当怠速运转,而不是命令解释程序,然后我输入help('modules')无论是twitter也不python-twitter在列表中显示。 当输入help('modules')进入命令解释程序,我得到一个分段错误,并解释崩溃。 这里的错误:

>>> help('modules')

Please wait a moment while I gather a list of all available modules...

/usr/lib/python2.7/dist-packages/gobject/constants.py:24: Warning:
  g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
  import gobject._gobject
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:40: Warning:
  g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
  from gtk import _gtk

** (python:2484): CRITICAL **: pyg_register_boxed: assertion `boxed_type != 0' failed
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:40: Warning: cannot register
existing type `GdkDevice'
  from gtk import _gtk
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:40: Warning: g_type_get_qdata: 
assertion `node != NULL' failed
  from gtk import _gtk
Segmentation fault (core dumped)

为什么其他的问题都没有解决这个对我来说:

我看着在类似的帖子卸载的软件包PIP冻结名单 ,我不具有相同的问题。

$ sudo which pip
/usr/bin/pip
$ which pip
/usr/bin/pip

这是相同的输出。 此外, $ sudo pip freeze使输出相同的$ pip freeze

很感谢任何形式的帮助!

Answer 1:

您可以随时手动删除软件包; 你可以运行:

sudo rm -rf /usr/local/lib/python2.7/dist-packages/twitter

从您删除软件包dist-packages目录。 您可能需要编辑easy-install.pth在同一目录文件并删除twitter从它进入。



Answer 2:

虽然马丁的解决方案有效,因为周围的工作,它并没有提供一个直接的答案。 Ubuntu的PIP版本你的Ubuntu版本(12.04)是:

 python-pip (1.0-1build1)

这也是Debian的喘息相同的版本。 这个版本有一个weired错误,这会导致包不被删除。
如果您使用脚本从上游获得PIP get-pip.py你将有点子,可以去除pacakges的固定版本(截至目前诉1.5.6)。

更新

Python的点子真的是一个快速移动的目标。 因此,使用Debian的或Ubuntu的点子都保证有错误。 不要使用这些分布的pip 。 代替从上游安装PIP。

如果你想注册个点安装的软件包作为系统软件包我真的建议您同时使用stdeb 。



Answer 3:

对我来说,这是由于我正在运行的事实pip freeze ,这给了我比不同的结果sudo pip freeze

由于我使用卸载sudo ,这不是在“非卸载它sudo ”会话。 不卸载sudo固定的。



Answer 4:

我面临的困难,同时升级包,因为PIP是无法成功卸载。 我不得不删除.egg,信息和文件夹,以及在/usr/lib/python2.7/dist-packages,然后我试图与--upgrade安装和它的工作。



Answer 5:

在我的情况(移动pyusb 0.4X到1.0X),用apt-get的删除蟒蛇-USB删除旧的包,并手动安装手动下载的软件包通过Python setup.py工作。 不漂亮,但工作。



文章来源: pip is not uninstalling packages