安裝yaml報錯:ERROR: Cannot uninstall 'PyYAML'.
文章目錄:
一、錯誤原因分析
1、開始安裝
我是一開始安裝yaml
,使用命令:
pip install yaml
正確安裝,且可以在命令行下正確導入,然後在執行程序的時候又報錯:AttributeError: module 'yaml' has no attribute 'FullLoader'
然後我就查看了一下我安裝的yaml的版本:
pip show yaml # 顯示是3.12版本,版本太老
2、錯誤探索1
網上查看教程,說是要更新yaml的版本到5.2
,更新的方式如下:
pip install -U PyYAML
更新的過程中又報錯:
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.
然後又繼續查找如何解決這個問題,大部分給出的解決方案是:把site-packages
下的yaml
文件全部刪除乾淨,你猜怎麼着,LZ全部刪除了,結果安裝的時候還是這個BY,你氣不氣,無奈呀!
3、錯誤探索2
無奈,我只能去PyPi網站上去下載輪子了,然後直接安裝了:
- PyYAML-5.2-cp27-cp27m-win_amd64.whl
- PyYAML-5.2-cp27-cp27m-win32.whl
然後直接安裝輪子:
pip install PyYAML-5.2-cp27-cp27m-win_amd64.whl
# 然後說是平臺不支持,我一看是amd可能不支持,於是我又試了一下32的
pip install PyYAML-5.2-cp27-cp27m-win32.whl
# 同樣是平臺不支持,無語至極
看來是探索是失敗的,另闢蹊徑吧!
二、最終錯誤解決方式
使用下面的安裝方式解決:
# 親測可用
pip install --ignore-installed PyYAML
還有一種,這個我沒有測試,你可以試一下:
pip install --force-reinstall PyYAML
或
pip install docker-py --ignore-installed PyYAML
參考:
1、https://github.com/pypa/pip/issues/5247
2、https://stackoverflow.com/questions/49911550/how-to-upgrade-disutils-package-pyyaml
♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠