python中包的安装
安利一个软件anaconda
学习python,离不开各种各样的包,然鹅一个个去下载贼麻烦有没有!国外的包要下载一辈子有没有!!
本辣鸡就是在下载pandas时折腾到心累。。。考虑到未来还有n多包要下载,有必要找到一种优雅的姿势安装python的包,这时候逼乎就展现了极大的作用,在多个回答中发现了anaconda,这又是什么呢?简言之是一个开源包和环境的管理器(方便!快捷!)同时还可以用它自带的spyder写代码,界面类似matlab很亲民。
具体教程参见这里
anaconda踩坑
跟着google的教程做机器学习,用到了这样一行 my_optimizer = tf.contrib.estimator.clip_gradients_by_norm(my_optimizer, 5.0)
运行后报错: AttributeError: module 'tensorflow.contrib' has no attribute 'estimator'
不科学啊打开tensorflow的官方文档,确实是有这么个特性的,但是打开我们电脑andconda里面tensorflow文件夹,确实没有。问题可以锁定在了tensorflow安装不完全。首先我们检查一下版本 import tensorflow as tf
tf.__version__
Out[12]: '1.2.0'
然鹅官网上的版本已经是1.6了orz,赶紧更新啊。根据网上的教程 更新tensorflow教程
but!!!更新之后并没有效果,check版本依然是1.2,为什么呢?
这个教程里,有一行是activate tensorflow
用于激活环境,研究后发现,anaconda提供多种python环境配置,你可以为不同的项目配置不同的环境,比如机器学习项目需要py3.6,有tensorflow包,而另一个数据挖掘项目需要python2.7,通过anaconda配置两个环境就不同下两个python了,他们的彼此独立。打开anaconda下的navigator可以查看
这里我们安装了基础的base环境和tensorflow环境
我编译python用的是anaconda自带的spyder,而这个是基于base环境的,如果想基于tensorflow环境,可就需要在tensorflow中导入spyder
同时菜单栏就会有对应的spyder
所以我们之前跟着教程 进行的更新,其实都是在tensorflow环境下的,而编译时的spyder,却是用的base环境orz。
解决方案就很简单啦,在base下更新tensorflow或者改用tensorflow的环境都可以。
感想
sigh~~~每次雄心壮志准备码代码的时候总会遇到一堆编译器问题焦头烂额老眼昏花心力憔悴orz。
但是anaconda还是好用啊!
随便装包配环境贼鸡儿方便!!
spyder是matlab的界面类型好评!!!