环境:
Mac OS Monterey 12.5.1
MacBook Air (M1, 2020)
Xcode 14.1
Python 3.11.5
直接下载提示
科学上网下,执行pip3 install tensorflow
报错:
1 | ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them. |
尝试解决:终端使用代理
开启Terminal Proxy 失败
这里的失败是curl
不开代理时返回正常,开启代理时无反应,长时间后返回错误
curl: (97) Received invalid version in initial SOCKS5 response
原因:curl
没有配置代理或者代理配置有误。道理跟apt
、wget
不能联网差不多。
解决:
1 | # 查看curl代理配置(如果没有这个文件会自动新建) |
开启代理后 curl能正常返回
开启Terminal Proxy代理后 失败
Missing dependencies for SOCKS support
1 | jack:~/ $ pip3 install tensorflow [21:23:07] |
解决:
1 | # unproxy |
代理运行正常
Error: No matching distribution found for tensorflow
暂时无可用版本,尝试降低Python
版本,安装python
版本管理工具pyenv
pyenv py版本管理工具
基本使用
1 | pyenv versions # 显示已安装版本 |
Mac安装多个版本py环境时,想要执行哪个版本的pip install需要输入pip的完整路径,避免混淆
全局更改
1 | pyenv global 3.10.4 #使用该版本 |
局部环境
1 | cd ProjcetSpecial #进入局部py环境项目路径 |
Pycharm Add
底部添加新的解释器 -> Virtualenv Environment -> Existing ->path/bin/python
You should select “Existing environment”, and specify path to python binary from that environment.
Success
尝试操作
- [ ] 降低Py版本 python 3.9.5
- [ ] 安装
python -m pip install --upgrade --force-reinstall tensorflow-metal
成功 - [ ] 解决hash不匹配
pip3 install --user --upgrade tf-nightly --no-cache-dir
无效 - [x] 关闭代理客户端
1 | pip install tensorflow-macos |
1 | pip install tensorflow |
tensorflow-metal
,它是一个TensorFlow的后端,使用苹果的Metal图形API来加速神经网络计算。 Metal是一种高性能图形和计算API,专门为苹果设备的GPU设计,可以实现更快的神经网络计算
猜测正确操作是关闭了代理客户端 + 降低py版本起了作用,待后续验证
参考
- 安装TensorFlow报错:No matching distribution found for tensorflow
- curl: (7) Received invalid version in initial SOCKS5 response. curl: (5) Could not resolve proxy:
- Missing dependencies for SOCKS support
- google:tensorflow-metal是什么
- pycharm when using pyenv does not pickup packages
- pycharm when using pyenv:video