如何在 Windows 操作系统中升级/卸载 distutils 软件包 (PyYAML)

MAK*_*MAK 2 python pip python-2.7

我在 WIN10 中工作,使用 python 2.7.15

我尝试安装软件包,在安装过程中收到以下错误。

Cannot uninstall 'PyYAML'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
Run Code Online (Sandbox Code Playgroud)

我尝试使用 pip (18.1) 命令卸载,但收到了相同的错误。

pip uninstall PyYAML
Run Code Online (Sandbox Code Playgroud)

如何在 win10 操作系统中卸载/升级 distutils packge。

iva*_*eev 5

基本distutils功能不会留下有关哪些文件属于某个包的任何信息 - 因此无法可靠地卸载它。这就是消息要告诉你的。此外,它没有依赖元数据,因此也无法可靠地“升级”。所有这些功能都是由setuptools(以及一些wheel本身pip)添加的。

setup.py install如果您使用if setup.pyis distutils- 而不是基于 -直接从源代码安装软件包,则可能会发生这种情况setuptools。或者,如果您通过复制/解压文件从某些类型的软件包手动安装它。


除非您安装它的方式提供了自己的卸载程序,否则您必须手动找出哪些文件属于该包并从 Python 目录中删除它们。

通常,这些是:

一般来说,寻找任何带有包裹名称的东西。


如果您可以从源代码构建相同的包,则可以使用构建过程来获取提示:构建一个您可以查看的二进制包(例如,setup.py bdist_wheel.whl一个 ZIP 存档)并查看其中包含哪些文件。