Pip 如何升级Distils包PyYAML?
我试图安装依赖于PyYAML=3.12的chatterbot。在我安装的Ubuntu机器中,PyYAML的版本是3.11。因此,我使用以下命令升级PyYAML:Pip 如何升级Distils包PyYAML?,pip,pyyaml,Pip,Pyyaml,我试图安装依赖于PyYAML=3.12的chatterbot。在我安装的Ubuntu机器中,PyYAML的版本是3.11。因此,我使用以下命令升级PyYAML: sudo-hpip3安装——升级PyYAML 但它给出了以下错误: 无法卸载“PyYAML”。这是一个distutils安装的项目,并且 因此,我们无法准确地确定哪些文件属于哪个文件 只会导致部分卸载 我的pip3版本是10.0.0 如何解决这个问题?我发现PIP10不再卸载distutils包。因此,我将评级下调至pip 8.1.1。
sudo-hpip3安装——升级PyYAML
但它给出了以下错误:
无法卸载“PyYAML”。这是一个distutils安装的项目,并且
因此,我们无法准确地确定哪些文件属于哪个文件
只会导致部分卸载
我的pip3版本是10.0.0
如何解决这个问题?我发现PIP10不再卸载distutils包。因此,我将评级下调至pip 8.1.1。现在它开始工作了
如果查看此问题的任何人知道如何卸载或升级带有pip 10.0.0的distutils软件包,请在此处告知我。:)
(如果有人需要)为了降低pip的评级,我使用了以下方法: sudo-H pip3安装pip==8.1.1 尝试使用
--ignore installed
标志:
sudo-hpip3安装--忽略已安装的PyYAML
这是因为要升级软件包,pip
首先卸载旧版本,然后安装新版本。distutils软件包的卸载步骤失败。有了--ignore installed
标志,卸载步骤将被跳过,新版本将简单地安装在旧版本的基础上。问题:
无法卸载“PyYAML”。这是一个distutils安装的项目,并且
因此,我们无法准确地确定哪些文件属于哪个文件
只会导致部分卸载
解决方案:删除Dist包并运行
sudo-rm-rf/usr/lib/python3/dist-packages/yaml
sudorm-rf/usr/lib/python3/dist-packages/PyYAML-*
从distutils works中删除文件夹我个人在anaconda上安装了PyYAML,只需执行“conda remove PyYAML”,然后执行我的pip命令就行了。您可以尝试以下方法:
$pip install --ignore-installed PyYAML
我遇到过类似的问题,康达安装了
PyYAML
包。使用conda remove
还有另一个答案
相反,我使用conda update PyYAML
解决了这个问题,有效地使用conda更新了pip试图自己更新的依赖项
conda remove PyYAML
康达的离开需要时间
这样,当我尝试从chatterbot导入chatbot时,它解决了我的错误。我只需卸载python3 yaml并再次尝试使用pip
sudo apt-get purge python3-yaml
您应该始终使用最新版本的Python(可能不是Ubuntu用于Python系统的版本)在virtualenv中安装类似chatterbot的程序。这样,您就可以使用所需的任何版本的库,而不会破坏系统程序。(对于Pyyaml3.12,它与3.11相比变化很小,这并不是什么问题,但有一些包会破坏一切)。@Anthon请将您的评论转化为答案。我认为它应该被认为是这个问题的最佳答案。@Anthon是的,除了在Docker容器中安装Hy版本8.1.1之外?只是好奇,但这很有效!最后,我从
distutils
中删除了文件夹:sudorm-rf/usr/lib/python3/dist-packages/yaml
,sudorm-rf/usr/lib/python3/dist-packages/PyYAML-*
@tonycafe-well,升级我的pip版本是8.1.1。所以我降到了8.1.1。但我认为它也应该适用于8.0。*你知道在执行conda update env-f environment.yml时如果发生此错误该怎么办吗?这不起作用,即使在删除dist内容后,它仍然会产生相同的错误。这破坏了我的Anaconda。努比走了。我不得不重新安装。感谢你的灵感,这可能是由于康达安装。我没有删除,而是使用了conda update
,它修复了我的pip安装
,而没有破坏上面提到的其他依赖项。这似乎是最明智的答案。。。无怨无悔
sudo apt-get purge python3-yaml