Anaconda中tensorflow安装(Spyder)+出错整理(python已停止运行,没权限,HDF5和其他库版本不匹配)

Dawn ·
更新时间:2024-09-20
· 872 次阅读

为了安个tensorflow,心好累,安了好几天终于安好了
推荐用anaconda安装。
1设置环境。由于anaconda用的最新版本,对应的是python3.7,但是3.7版本跟tensorflow不匹配,需要另外设置环境。
(1)创建python3.5的环境,从开始cmd进入,输入conda create – pythonversion35 python=3.5。这时,在anaconda navigator中environments有了pythonversion35。下图的环境是base(root),点到pythonversion35就可以看到里面的配置。在home操作也一样,要与环境匹配。
anaconda navagator
(2)激活环境,在cmd中activate pythonversion35。
(3)conda install tensorflow。
如果安不了可以先把tensorflow下下来再安,地址https://mirrors.tuna.tsinghua.edu.cn/tensorflow/。看你电脑我安的cpu版本。
这样基本安好了,在anaconda navigator的home中下载pythonversion35对应的spyder。打开,输入import tensorflow,看是否可行。
一定要看版本!!!下面地址是不同python版本对应的tensorflow版本。
https://docs.floydhub.com/guides/environments/
要是版本不对就会出现我下面这些问题。
如果嫌麻烦就重新创建一遍python版本再下载tensorflow。
不然下面的这些问题要令人头秃。
2报错情况。
(1)python已停止运行 ,根本不能import。
解决办法conda update --all
conda update jupyter
conda update anaconda
conda update tensorflow。
把这几个更新一下,最主要是第一个更新pip,一定要更新完。
更新之后,就不会停止运行了,但是又有以下问题。
在更新pip的时候和出现问题的时候一定要在pythonversion35的环境下,最左边有pythonversion35,不然要是在其他环境,就白搞了。
pytonversion35
(2)由于所以pip更新了,会出现不匹配的情况,用pip list看看你tensorflow和各种pip的版本。比如下面的这个报错
File “”, line 1, in
File “tensorflow/init.py”, line 24, in
from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import
File “tensorflow/python/init.py”, line 52, in
from tensorflow.core.framework.graph_pb2 import *
File “tensorflow/core/framework/graph_pb2.py”, line 16, in
from tensorflow.core.framework import node_def_pb2 as tensorflow_dot_core_dot_framework_dot_node__def__pb2
File “tensorflow/core/framework/node_def_pb2.py”, line 16, in
from tensorflow.core.framework import attr_value_pb2 as tensorflow_dot_core_dot_framework_dot_attr__value__pb2
File “tensorflow/core/framework/attr_value_pb2.py”, line 16, in
from tensorflow.core.framework import tensor_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__pb2
File “tensorflow/core/framework/tensor_pb2.py”, line 16, in
from tensorflow.core.framework import resource_handle_pb2 as tensorflow_dot_core_dot_framework_dot_resource__handle__pb2
File “tensorflow/core/framework/resource_handle_pb2.py”, line 41, in
options=None, file=DESCRIPTOR),
TypeError: new() got an unexpected keyword argument ‘file’
这是最先出现的问题。
tensorflow对protobuf的版本要求很严格。
对应如下
tensorflow 1.5 --------------- protobuf 3.4
tensorflow 1.12 --------------- protobuf 3.6
tensorflow 1.10 --------------- protobuf 3.6
tensorflow 1.0.0 --------------- protobuf 3.1
tensorflow 0.12 --------------- protobuf 3.1
tensorflow 0.11 --------------- protobuf 3.0.2
解决办法:降级
我的tensorflow版本1.10
pip install -U protobuf 3.6
在install的时候会报错没有权限,则需要找到cmd所在文件位置,C:\Windows\System32,右键以管理员身份运行。
再用pip install --user -U protobuf 3.6

(3)其他pip版本不匹配
1.TypeError: expected bytes, Desc
2.AttributeError: module ‘numpy’ has no attribute ‘equal’
这两个问题都是版本不匹配
版本问题
在版本匹配中,它会提示你哪些不匹配,把对应的版本降级、升级就好了
(4)最后会出现这个问题
HDF5 library version mismatched error
解决办法pip uninstall h5py
pip install h5py
把h5py重新装一下。
这样就装好了

参考https://blog.csdn.net/qq_36888550/article/details/100096974
https://www.cnblogs.com/walnuttree/p/11661190.html
https://stackoverflow.com/questions/34119670/hdf5-library-and-header-mismatch-error
https://blog.csdn.net/zhaoyin214/article/details/104095227


作者:weixin_42505384



hdf5 TensorFlow安装 运行 版本 spyder tensorflow anaconda Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号