python3.7安装tensorflow遇到的坑

环境

  • Mac OSX 10.14.6
  • Python 3.7

遇到的问题

  1. 参考的论文代码不兼容
    在做深度高斯过程研究时参考的一篇论文代码的环境为tensorflow 1.8,于是想安装1.8版本
    终端输入以下代码
pip3 install tensorflow==1.8

报错“ERROR: No matching distribution found for tensorflow==1.8"

一查,发现tensorflow1.8不支持python3.7,泪奔,难不成要卸了python3.7重装python3.6?


tensorflow1.8支持的python版本(见cp)

最后成功搜索到了解决方法,首先需要手动安装tensorflow1.8的whl文件,可进入https://pypi.org/project/tensorflow/1.8.0/#files安装

接着,把文件名中的cp36改成cp37,再更改源文件中的一个变量名,具体可参考:
https://blog.csdn.net/weixin_42279044/article/details/84996528

最后在终端中做实验输入

import tensorflow

可以看到成功导入了

2.但是问题没那么简单啊!实际跑代码的时候还是报错了:“AttributeError: module 'tensorflow' has no attribute 'broadcast_to”
谷歌了一下,又是版本问题。可能1.8版本没有这个属性。
只好又在终端输入

pip3 uninstall tensorflow

卸载完之后装上最新版的tensorflow(所以我究竟在折腾什么。。。)然后就开始疯狂的报readtime out error.
由于tensorflow1.14.1有100多MB,导致安装总是超时。
最后,搜索到mac版的解决方案:

 sudo pip install --default-timeout=100 tensorflow

下载速度终于快多了

小结

1.tensorflow1.8版本出来的时候还没有python3.7,不同库版本之间的兼容问题,代码的兼容性需要考虑。
2.使用别人的代码一定要注意运行环境,否则还不如自己写(所以我决定放弃直接采用别人的代码,自己重写一份了)
3.同样,作为开发者应该把这些问题考虑好,让自己的代码可以在别人的设备上复现,才能提升利用率

你可能感兴趣的:(python3.7安装tensorflow遇到的坑)