背景
我正在进行一项学术项目,基本上是分析一些“谁关注谁”的图表,并希望使用 Python Twitter API 包之一构建一些小数据集来获取一些真实的数据以测试我所拥有的一些想法。
我有点粗心大意,安装了两个包:
a) 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)
(a) 在 pypi 中称为 python-twitter
,而 (b) 称为 twitter
,这就是我将要引用它们的方式。
在 Python 解释器中,这两者都被称为 import twitter
,但当我写下那一行时,我总是得到 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。
当我使用IDLE而不是shell解释器运行,并键入help('modules')
时,twitter
和python-twitter
都不会显示在列表中。当在shell解释器中键入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 freeze lists uninstalled packages,但我没有遇到相同的问题。
$ sudo which pip
/usr/bin/pip
$ which pip
/usr/bin/pip
这两个命令的输出结果是相同的。此外,$ sudo pip freeze
和 $ pip freeze
命令的输出结果也是相同的。
非常感谢任何帮助!
import twitter; print twitter.__file__
这段代码的输出是什么? - Martijn Pieters>>> print twitter.__file__
产生的结果是:/usr/local/lib/python2.7/dist-packages/twitter/__init__.pyc
。 - David