Linux+pycharm下 安装tensorflow时遇到的bug

目录

报错1:

原因:

解决办法:

报错2:

原因:

解决办法:

重新在新虚拟环境下安装tensorflow

在已有的虚拟环境基础上重新配置

为当前代码设置运行环境(解释器)


报错1:

在用pycharm运行代码时,可能发生如下报错:

  • ImportError: cannot import name 'abs'

原因:

protobuftensorflow发生了冲突

解决办法:

第一步:删除tensorflow所有模块

pip uninstall tensorflow

第二步:删除protobuf

pip uninstall protobuf

第三步:重新安装tensorflow

pip install tensorflow==1.9.0

报错2:

  • illegal instruction (core dumped)  核心转储问题

原因:

这都是因为在Linux下 tensorflow没有安装好,版本问题。

解决办法:

重新在新虚拟环境下安装tensorflow

(如何查看虚拟环境是否有tensorflow,请看”2. 在已有的虚拟环境基础上重新配置“节

第一步:在conda环境下安装新的虚拟环境

conda create -n tensorflow python=3.6.5

第二步:激活虚拟环境

source activate tensorflow #激活环境

该行代码是激活tensorflow环境,activate后的名称可以自己定义。加入定义为tensorflow1,激活后会在最之前有tensorflow环境的字样:

第三步:安装tensorflow

conda install tensorflow==1.9.0

其中,第一行python版本和第三行tensorflow版本要对应。建议python不要用3.7之后,比较麻烦,tensorflow2.0以后很多东西变了,python3.6配套tensorflow1.9,亲测有效。(如果python是3.7,tensorflow可以使用2.2.0,网上说可以)

在已有的虚拟环境基础上重新配置

第一步:查看虚拟环境中已有的配置:

conda env list

我们配置的虚拟环境都在conda环境下的env包里。从文件中也可以找到

这是我运行后的结果,可以看到,我的虚拟环境中包括三个环境,一个是base,一个是tensorflow,一个是tensorflow1。

第二步:以tensorflow为例,在这个已有的环境下重新配置tensorflow。

执行:

source activate tensorflow #激活环境
conda install tensorflow==1.9.0

第三步:安装结束后,检验tensorflow是否安装成功

python  #进入python环境

#出现‘>>>’表明已经进入python环境,在后面输入:
import tensorflow as tf

#如果没有报错,可以输入
tf.__version__  #查看tensorflow版本
tf.__path__   #查看tensorflow路径

为当前代码设置运行环境(解释器)

File——》settings——》python interpreter

——》点下拉栏  如果可以看到我们配置的python环境  直接选择(之前在conda下配置了tensorflow环境,并且激活了环境,所以这里会有Python3.6(tensorflow)字样)。如果没有,看下一步

——》下拉栏没有我们刚刚配置的环境,手动添加

首先确定我们的python环境在哪里:

参考“2. 在已有的虚拟环境基础上重新配置” 的第一步,

红框中的*代表我们当前的环境,看到tensorflow是在anaconda3/envs/tensorflow下,自己记住这个路径,后面要用。

——》在setting的python interpreter中点这个按钮:

有Add和show all两项:

——》点Add,出现下面这个界面

——》因为之前用的conda环境,所以选第二个:

——》在存在的环境中找,点···  :

——》按照之前记住的python路径选择解释器,最后定位到python就行。不是python3什么的 就只是python  然后点OK

最后应用Apply 并OK就可以了。

这样代码才能真正运行。

猜你喜欢

转载自blog.csdn.net/allein_STR/article/details/112553297