I was trying to install chatterbot which has a dependency on PyYAML=3.12. In my Ubuntu machine installed PyYAML version is 3.11. So I used the following command to upgrade PyYAML:
sudo -H pip3 install --upgrade PyYAML
But it gives the following error:
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.
My pip3 version is 10.0.0.
How to resolve this?
Try using the --ignore-installed
flag:
sudo -H pip3 install --ignore-installed PyYAML
This works because to upgrade a package, pip
first uninstalls the old version, then installs the new version. It is the uninstall step that fails for distutils packages. With the --ignore-installed
flag, the uninstall step is skipped and the new version is simply installed on top of the old one.