加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

往Pycharm中集成Python3、Anaconda3和tensorflow的失败经历和最后解决办法

(2018-07-01 09:39:47)
分类: 计算机技术

由于使用CNN抽取语义关系的效果始终出不来,线性模型效果更次,我打算重返BIGRU,先上一个小一点的数据集,正好看到下面代码,符合我的需要,只是数据用的是中文的,但这不打紧。

https://github.com/squirrel1982/Information-Extraction-Chinese

这套代码的要求是

Python (>=3.5)

TensorFlow (>=r1.0)

scikit-learn (>=0.18)

Pycharm上的Python2.7版本的,虽然我之前在调下面代码的时候,将Python3.5的函数替换成对应的2.7的部分,但这次我想试试Python3使用到底是什么体验,索性就装一个Python3

https://github.com/squirrel1982/TensorFlow-NRE

安装Python3

比较简单,上官网https://www.python.org/downloads/,下载一个Python3.7.0的安装包,傻瓜式安装。想看安装目录,打开mac中应用程序文件夹,点开Python3.7.0文件夹,打开IDLE,输入import sys,sys.path即可知道安装目录。

指定terminal中默认的Python

#打开配置文件

open ~/.bash_profile

#写入python的外部环境变量

export PATH=${PATH}:/Library/Frameworks/Python.framework/Versions/3.6/bin

#重命名python

alias python="/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6"

#关闭文件

$ source ~/.bash_profile

#python,查看是否修改成功

还有一点需要补充下,Python3的调用是python3 xxx,而Python2的调用是python

然后安装numpy,这个简单,pip3 install numpy

然后安装tensorflowpip3 install tensorflow,但这里出了问题,说找不到合适的版本,后来查了下,似乎Python37太新了,和tensorflow还不兼容

又装了一个Python36,同样问题,Python35,同样问题,显然这不是Pythontensorflow的兼容问题,此法不通;

换种方法,使用anaconda来安装tensorflow

Anaconda3

anaconda网站https://www.anaconda.com/download/

下载Anaconda3,安装好以后创建虚拟环境

安装和创建虚拟环境

这个很重要,使用 conda create -n tensorflow4Python36 python=3.6anaconda 命令创建python版本为3.6、名字为tensorflow4Python36的虚拟环境。tensorflow4Python36文件可以在Anaconda安装目录/Users/mac/anaconda3/envs文件下找到

激活虚拟环境

source activate tensorflow4Python36,激活后命令行的提示符会变成tensorflow4Python36localhost~

往虚拟环境中安装tensorflow

pip install --upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.11.0rc0-py3-none-any.whl

Pycharm中识别这个虚拟环境

Pycharm community EditionàPreferenceàproject interpreter

在界面上点选local,找到/Users/mac/anaconda3/envs/ tensorflow4Python36/bin,然后点击确定,但之后出了一个问题,Pycharm识别不出来tensorflownumpy,查了一下发现原来tensorflownumpy不在tensorflow4Python36目录下的site-packages中,而是在更深的文件夹tensorflow4Python36/lib/python3.6/site-packages/下,导致的结果是虽然在虚拟环境tensorflow4Python36中启动python,我可以import numpytensorflow,但在pycharm中编译不了代码中的import numpytensorflow

后来想了一个办法,把tensorflow4Python36/lib/python3.6/site-packages/的内容往tensorflow4Python36/site-packages拷贝一份,虽然现在pycharm可以编译import numpytensorflow了,但是在代码执行过程中又报错了,说找不到tf.contrib.rnn.GRUCell

最后放弃使用Python3.6,按照原来的办法,Python3中函数替换成对应的2.7的部分,将project interpreter定位到原来https://github.com/squirrel1982/TensorFlow-NRE

中的PYTHON2.7的位置,解决问题。

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有