我试图安装chatterbot,它依赖于PyYAML = 3.12。在我的Ubuntu机器上安装的PyYAML版本是3.11。所以我使用以下命令升级PyYAML:
sudo -H pip3 install --upgrade PyYAML
但它给出了以下错误:
无法卸载'PyYAML'。它是一个distutils安装的项目,因此我们无法准确确定哪些文件属于它,这将导致仅部分卸载。
我的pip3版本是10.0.0。
怎么解决这个?
尝试使用--ignore-installed
标志:
sudo -H pip3 install --ignore-installed PyYAML
这是因为升级包,pip
首先卸载旧版本,然后安装新版本。这是distutils包失败的卸载步骤。使用--ignore-installed
标志,将跳过卸载步骤,并将新版本简单地安装在旧版本之上。
我发现in this Github issue pip 10不再卸载distutils包。所以我降级到8.1.1。现在它有效。
如果正在查看此问题的任何人知道如何使用pip 10.0.0卸载或升级distutils软件包,请在此处告知我们。 :)
(如果有人需要) 为了降级pip,我使用了以下内容:
sudo -H pip3 install pip==8.1.1
无法卸载'PyYAML'。它是一个distutils安装的项目,因此我们无法准确确定哪些文件属于它,这将导致仅部分卸载。
sudo rm -rf /usr/lib/python3/dist-packages/yaml
sudo rm -rf /usr/lib/python3/dist-packages/PyYAML-*
从distutils中删除文件夹有效