使用pip3升级安装TensorFlow时出现EnvironmentError的解决办法
别慌,这个问题我碰到过好多次,本质是TensorFlow相关的缓存文件(.pyc)损坏或者路径出了小问题,导致安装流程卡壳了。给你几个一步步来的解决办法:
手动删除损坏的缓存文件
找到报错里提到的__pycache__文件夹路径:C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\tensorflow_estimator\python\estimator\canned\linear_optimizer\python\utils\__pycache__
删掉里面的sharded_mutable_dense_hashtable.cpython-37.pyc文件,要是嫌麻烦,直接把整个__pycache__文件夹删掉也没问题。
注意:如果找不到这个路径,记得在文件夹选项里打开「显示隐藏的文件、文件夹和驱动器」清理pip本地缓存
打开命令提示符(CMD)或者PowerShell,执行这条命令清空pip的缓存,避免安装时用到旧的损坏文件:pip3 cache purge彻底卸载后重新安装
先把可能已经损坏的TensorFlow和对应的estimator组件卸载干净:pip3 uninstall -y tensorflow tensorflow-estimator
然后重新执行升级安装命令:pip3 install --upgrade tensorflow检查权限问题
如果上面的步骤都不行,大概率是权限不足导致的文件操作失败。右键点击CMD/PowerShell,选择「以管理员身份运行」,再重新执行安装命令试试。确认Python环境对应关系
有时候多个Python版本会搞混pip的指向,执行这条命令确认你的pip3是不是对应Python3.7:pip3 --version
输出里的路径应该包含Python37字样,如果不对,就用完整路径来执行命令,比如C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\Scripts\pip3.exe install --upgrade tensorflow
内容的提问来源于stack exchange,提问作者ScoTT

