19

我正在尝试pysqlite使用pip.

我这样做毫无意义:

$ pip uninstall pysqlite

该命令有效,但请注意:

$ pip freeze
[...]
pysqlite==1.0.1

让我们再试一次

$ pip uninstall pysqlite
Can't uninstall 'pysqlite'. No files were found to uninstall.

不,似乎已删除但仍显示在pip freeze

现在乐趣来了

$ pip install pysqlite
Requirement already satisfied (use --upgrade to upgrade): pysqlite in /usr/lib/python2.6/dist-packages
Cleaning up...

很公平:

$ pip install -U pysqlite
[...]
error: command 'gcc' failed with exit status 1
[...]
Can't roll back pysqlite; was not uninstalled
[...]

我只是不明白。为什么pip卸载不了pysqlite?

4

3 回答 3

15

转到您的/usr/lib/python2.6/site-packages/pysqlite*.egg/(或您将鸡蛋存储在 python 路径中的其他任何地方)并查找该installed-files.txt文件。

如果它不存在,pip将无法卸载它,如果存在,则删除其中的所有文件并摆脱 pysqlite。正如 Martijn 建议的那样,您还应该检查您是否没有使用另一个包管理器安装您的包。

如果你没有installed-files.txt,并且你的包没有通过第三方包管理器安装,你应该查找你的 egg 所在的位置,并将其从 python 路径中删除。通常,鸡蛋也会在它们所在的目录中写入文件,因此您应该pysqlite/在放置的目录中查找目录pysqlite.egg

于 2012-10-30T09:36:04.363 回答
15

作为记录,我能够通过使用 --ignore-installed 标志来升级我遇到此问题的软件包,例如

 pip install python-dateutil --upgrade --ignore-installed
于 2017-02-23T06:16:13.480 回答
1

换个方式就行了。

我 pip-installedykdl需要m3u8iso8601.

然后我想将它们全部卸载,.andpip uninstall ykdl iso8601 m3u8不见了,但我无法卸载.And 我在.and 中看到了它。我也很纳闷。ykdliso8601m3u8pip list

最后。当我尝试导入 m3u8 时,它失败并说“需要 iso8601”。所以我一一安装,iso8601然后卸载。有效m3u8iso8601

=====

它在ubuntu上。iso8601 m3u8 ykdl但在我的 Windows 10 上,我一步一步卸载成功。令人兴奋!

于 2017-02-24T14:39:53.397 回答