为什么不能pip卸载pysqlite?

shk*_*der 19 python pip pysqlite

我正试图pysqlite从我的系统中删除pip.

我这样做是没有意义的:

$ pip uninstall pysqlite
Run Code Online (Sandbox Code Playgroud)

该命令有效,但请注意:

$ pip freeze
[...]
pysqlite==1.0.1
Run Code Online (Sandbox Code Playgroud)

让我们再试一次

$ pip uninstall pysqlite
Can't uninstall 'pysqlite'. No files were found to uninstall.
Run Code Online (Sandbox Code Playgroud)

诺普,似乎被删除但仍然出现 pip freeze

现在来了很有趣

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

很公平:

$ pip install -U pysqlite
[...]
error: command 'gcc' failed with exit status 1
[...]
Can't roll back pysqlite; was not uninstalled
[...]
Run Code Online (Sandbox Code Playgroud)

我只是不明白.为什么不能pip卸载pysqlite?

zmo*_*zmo 15

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

如果它不存在,pip将无法卸载它,如果它,你删除其中的所有文件,你摆脱了pysqlite.正如Martijn建议的那样,您还应检查是否未使用其他软件包管理器安装软件包.

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


小智 13

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

 pip install python-dateutil --upgrade --ignore-installed
Run Code Online (Sandbox Code Playgroud)