运行下面代码
pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple/
出现了下面的错误 :
ERROR: Cannot uninstall 'wrapt'. 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.
根据错误信息,无法卸载wrapt包。可以看出由于wrapt是通过distutils安装的,而distutils无法准确确定哪些文件属于wrapt,导致无法完全卸载。
widows系统:
我先在base环境下检查是否安装好tensorflow
点开anaconda prompt输入conda list
发现里面没有tensorflow
我们可以先查看“wrapt”库的版本:
pip show wrapt
这个指令会显示特定 Python 模块的详细信息。当你运行这个命令时,会显示该模块的各种属性,例如名称、版本、作者、许可证、安装位置、依赖关系等。
因为我已经下载成功了,所以现在上面显示的是最新版本的“wrapt”.
一、手动卸载:
我的建议是手动删除“wrapt”
首先在一个python文件运行窗口例如jupyter、pycham上运行(我的是jupyter):
import wrapt
print(wrapt.__file__)
运行上面的代码后,会输出“wrapt”库的路径:
E:\anaconda\lib\site-packages\wrapt\__init__.py
接着我们在终端输出下面这个命令来删除wrapt库:
rd /s /q E:\anaconda\lib\site-packages\wrapt
如果你担心误删其他重要文件,你可以手动浏览到 E:\anaconda\lib\site-packages
目录,然后只删除 wrapt
目录而不递归删除。这样可以确保只删除 wrapt
包而不影响其他文件。
另外,作为一种更保险的做法,你也可以将整个 site-packages
目录备份到其他位置,在进行删除操作之前。
这时再次运行:
pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple/
你可能还会发现报错显示:
Attempting uninstall: wrapt Found existing installation: wrapt 1.10.11 ERROR: Cannot uninstall 'wrapt'. 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.
这里错误就不能再按照上面的来了,这时候你要到 (以我的为例子) E:\anaconda\lib\site-packages
这个目录下进行搜索:
因为我已经重新下完了,你们应该会显示一个wrapt-1.10.11-py3.6.egg-info文件,把这个删除后便解决了(注意我刚开始把这个文件移到了桌面上,运行还是出错,但当我把这个文件移到回收站后,便没有了问题)
最后我们再次运行:
pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple/
等待我们的将是成功。
二、强制安装
直接输入
pip install wrapt --ignore-installed
这行代码 pip install wrapt --ignore-installed
的作用是使用 pip 工具来安装 wrapt 包,并且通过 --ignore-installed
参数告诉 pip 忽略已经存在的同名包,强制重新安装 wrapt 包。这样做可以解决一些由于包版本冲突或其他原因导致的安装问题,但不能保证新旧包之间的冲突。
等待成功后,我们继续输入:
pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple/
若继续报错则返回“一、自动卸载” ;