python安装tensorflow出错

背景:

在git找了一个python项目(https://github.com/testerSunshine/12306),依赖库名单里有tensorflow 1.14.0

我的环境:

win10,能谷歌
python 3.8,习惯性在官网下了最新版本
查了pip版本(命令pip -V),19.2.X(具体不记得了)

下载到tensorflow时报错:

ERROR: Could not find a version that satisfies the requirement tensorflow (from versions: none)

咨询了其他共同搭过此项目的人,未出现过此问题,mac和windows版本的都问过,都搭成功了。
参考https://blog.csdn.net/rocling/article/details/89914610,在tensorflow官网查询到相关要求
python安装tensorflow出错_第1张图片
英文不好,后面也没多看,但是版本我是符合的。

尝试方法:

1、下载tensorflow更低或更高版本,没用,降到1.3.0都没用
2、更新pip到最新版本(pip install --upgrade tensorflow),没用
3、换源,百度到教程https://www.cnblogs.com/007sx/p/9446200.html,还是没用
4、python版本降到3.7.0(中间走了一点弯路,下了Anaconda3,Anaconda简单入门https://www.jianshu.com/p/742dc4d8f4c5,其实可以直接卸载python3.8,再安装python3.7的), 可以下载tensorflow 了,但是可能是因为Anaconda没弄好又报了其他错
ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE
在这里插入图片描述
百度得知可能是网速问题(基于上面的尝试3),又参考https://blog.csdn.net/weixin_41579863/article/details/81568060,
知道原因是下载网速问题,遂插上网线,按照上述链接,链接里用的系统是ubuntu,我用everything搜package_index.py也找到相关文件C:\ProgramData\Anaconda3\Lib\site-packages\setuptools\package_index.py
打开搜索“PackageIndex”,找到:
python安装tensorflow出错_第2张图片
默认二次下载源是https://pypi.org/simple/,修改为http://pypi.douban.com/simple,我默认第一下载源是清华https://pypi.tuna.tsinghua.edu.cn/simple,感觉两个设置成不同的才有意义。

流畅多了,但安装又出问题,
ERROR: tensorboard 1.14.0 has requirement setuptools>=41.0.0, but you’ll have setuptools 40.2.0 which is incompatible.
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.
感觉是安装Anaconda3的后遗症,很多包是老的,有部分tensorflow 是依赖更新版本的库包。参考https://blog.csdn.net/weixin_42419002/article/details/100665921,更新了依赖的wrapt和setuptools。

因为上面教训,手欠又参考https://www.cnblogs.com/cbattle/p/9446554.html更新了一把anaconda,花了很长时间下载,然后发现python从3.7.0更新到3.7.4了,不想管了。

直接再试一遍最开始的命令pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt,又发现问题
ImportError: cannot import name ‘SourceDistribution’ from ‘pip._internal.distributions.source’

pip命令都没得用了,试试其他命令(查pip版本:pip3 -V)也同样问题,然后各种百度,参考https://blog.csdn.net/zong596568821xp/article/details/80410416,解决无效。(无意中看了知乎的帖https://www.zhihu.com/question/41974592(骚哥的回答),了解了下conda和pip的关系。)

百度无效,谷歌,果然,还是谷歌强!看了github里的一个讨论
https://github.com/pypa/pip/issues/7217和https://blog.csdn.net/weixin_40040107/article/details/102581918得到命令

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py

第一条命令是下载pip安装脚本,第二条是运行pip安装脚本。
见:https://www.runoob.com/w3cnote/python-pip-install-usage.html

再试一遍最开始的命令pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt,终于好了!

教训:anaconda一开始就应该安装在D盘,因为anaconda占用容量大,且在C盘老是需要管理员权限。

总结:

python安装tensorflow出错,看错误,如果是ERROR: Could not find a version that satisfies the requirement tensorflow (from versions: none),就改改python版本,版本太新了不行,卸载安装也挺快。如果pip下载出问题,报错ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE,可能是网络问题,就多试几遍或者更换源。我这里是安装了anaconda,自找了一些anaconda的麻烦。

扩展:

电脑里只安装了python 3.7,怎么pip和pip3命令都有,这两个有什么区别。
百度有个回答言简意赅(待验证):
只有python2时,只能用pip,
python2和3都有时,2用pip,3用pip3,安装在各自目录
只有python3时,二者等价。

你可能感兴趣的:(python)