在gentoo环境下安装tensorflow
来源:互联网 发布:ping网络命令 编辑:程序博客网 时间:2024/05/21 06:01
谷歌的tensorflow包在gentoo环境下安装挺非周折,作者折腾了一天,总算搞定了。
我的gentoo是2013年安装的,计划安装tensorflow 0.5.0,上网了解到tensorflow最好的使用环境是python,虽然我不了解python,但有其它语言做基础,觉得安装没什么难度。于是不加思索直接下了个tensorflow包,解压后就想试用,在python环境里:
可想而知,碰了一鼻子灰。
查谷歌文档:http://wiki.jikexueyuan.com/project/tensorflow-zh/get_started/os_setup.html,觉得我这个环境(主要是有两个版本的python,2.7.5和3.2),最好方法用virtualenv安装,不容迟疑,那就赶快装个virtual 吧!
$ emerge virtualenv
由于存在两个版本的python,好像virtualenv要我决定使用哪个版本python才emerge得到,按照网络上所说打入:
$PYTHON_TARGETS="python2_7" emerge virtualenv
emerge说我有很多包block virtualenv,特别是python block的最狠。在网上到处找,很是烦人,终于在gentoo的官网上找到一丝踪迹,https://www.gentoo.org.cn/mirrorlist/,原来是我的gentoo太老了,长时间不更新,包被阻塞。于是按照gentoo的官网修改/etc/portage/make.conf
# These settings were set by the catalyst build script that automatically# built this stage.# Please consult /usr/share/portage/config/make.conf.example for a more# detailed example.CFLAGS="-O2 -pipe"CXXFLAGS="${CFLAGS}"# WARNING: Changing your CHOST is not something that should be done lightly.# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.CHOST="x86_64-pc-linux-gnu"# These are the USE flags that were used in addition to what is provided by the# profile used for building.USE="bindist mmx sse sse2 gtk2 gtk3 -gnome qt4 dvd alsa cdr -minimal branding d$SYNC="rsync://mirrors.ustc.edu.cn/gentoo-portage/"GENTOO_MIRRORS="http://mirrors.aliyun.com/gentoo/"PORTDIR="/usr/portage"DISTDIR="${PORTDIR}/distfiles"PKGDIR="${PORTDIR}/packages"INPUT_DEVICES="evdev synaptics"VIDEO_CARDS="intel"添加了红色这两行。然后运行命令:emerge-webrsync。
wenxu ~ # emerge-webrsyncFetching most recent snapshot ...Trying to retrieve 20160425 snapshot from http://mirrors.aliyun.com/gentoo ...Fetching file portage-20160425.tar.xz.md5sum ...Fetching file portage-20160425.tar.bz2.md5sum ...Fetching file portage-20160425.tar.gz.md5sum ...20160425 snapshot was not foundTrying to retrieve 20160424 snapshot from http://mirrors.aliyun.com/gentoo ...Fetching file portage-20160424.tar.xz.md5sum ...Fetching file portage-20160424.tar.xz.gpgsig ...Fetching file portage-20160424.tar.xz ...Checking digest ...Getting snapshot timestamp ...Syncing local tree ...Number of files: 208119Number of files transferred: 766Total file size: 410.83M bytesTotal transferred file size: 2.97M bytesLiteral data: 2.97M bytesMatched data: 0 bytesFile list size: 5.18MFile list generation time: 0.001 secondsFile list transfer time: 0.000 secondsTotal bytes sent: 6.41MTotal bytes received: 42.08Ksent 6.41M bytes received 42.08K bytes 49.84K bytes/sectotal size is 410.83M speedup is 63.65Cleaning up ... * IMPORTANT: 25 news items need reading for repository 'gentoo'. * Use eselect news to read news items.wenxu ~ #
这是最新的portage树和distfiles列表了。关键是再次emerge virtualenv,它居然干开了心里挺乐哈,按照官网说明,就差几个命令的事!
$ virtualenv --system-site-packages ~/tensorflow$ cd ~/tensorflow
$ source ./bin/activate
这些当然没问题,包括这个也没太大问题:pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl
只是墙的谷歌有时抽风,试了很多次才安装完成。但问题又来了,pip是pip了,可见不着tensorflow的影子,$ pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whlDownloading/unpacking https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl Downloading tensorflow-0.5.0-cp27-none-linux_x86_64.whl (10.9MB): 10.9MB downloadedRequirement already satisfied (use --upgrade to upgrade): numpy>=1.9.2 in ./lib/python2.7/site-packages (from tensorflow==0.5.0)Requirement already satisfied (use --upgrade to upgrade): six>=1.10.0 in ./lib/python2.7/site-packages (from tensorflow==0.5.0)Installing collected packages: tensorflowSuccessfully installed tensorflowCleaning up...
还好,find一下就有了分晓。
$ find . -name tensorflow./lib/python2.7/site-packages/tensorflow网上还说tensorflow依赖这几个包:Numpy、SciPy、scikit-learn和Matplotlib。来,pip它们。
该死的墙,我X墙妈八次!没梯子,这时才想到梯子太有用了!用关键词“镜像”搜索,有了,http://www.xuebuyuan.com/2101031.html,国内有,还有pip命令的用法,这网页的兄弟,太谢谢你了!
于是我打入:pip install -i http://pypi.tuna.tsinghua.edu.cn/simple numpy
爽死了,感受到车从泥巴路上了高速!
再pip scipy、scikit-learn、matplotlib,都没问题,我笑的合不拢嘴!可是,进入python,打入import tensorflow as tf命令,问题大了,说我的glibc版本2.15,太低,需要2.17以上,glibc可不好惹,那是命门,搞不好泰山崩于前!要很小心求证,操作,我跌入冰窟窿。。。饭都吃不香,得用emerge,一提emerge我心里总犯毛,太容易block了,而且我不会解决。这前面就像毛驴的前头的萝卜,很难够得着。网上有人说gentoo的安装机制不会对glibc升级构成威胁,于是我放心去emerge了。emerge...emerge,我等阿等,终于等来了successful。
兴奋!赶快去python里打入:import tensorflow as tf试一试,又来错误了,说libcxx版本低,继续emerge sys-libs/libcxx,惨了,无比惨,居然说gcc版本低,编译了一半撂摊子了,不带这样玩的吧?难不成我要升级gcc?
升就升呗,没见世面阿?
打入:emerge gcc
哗啦啦的,屏幕滚动,好不欢快哦!放心吃饭去,晚饭还没吃呢!等回来,悲剧了,是emakeBUILD错误,无法进行下去。这也太不靠谱了,用错误信息搜索,有说警告级别太高,应该降低,有说sanbox版本低导致,都试了,错误依然不改!
不死心,来官网https://wiki.gentoo.org/wiki/Upgrading_GCC/zh-cn上,居然被我撞上了,原来升级gcc先要升libtool。
有了救命稻草,当然不犹豫:
$ emerge --oneshot libtool
$ emerge gcc
1461627207: *** emerge gcc1461627236: >>> emerge (1 of 1) sys-devel/gcc-4.9.3 to /1461627236: === (1 of 1) Cleaning (sys-devel/gcc-4.9.3::/usr/portage/sys-devel/gcc/gcc-4.9.3.ebuild)1461627326: === (1 of 1) Compiling/Merging (sys-devel/gcc-4.9.3::/usr/portage/sys-devel/gcc/gcc-4.9.3.ebuild)1461632519: === (1 of 1) Merging (sys-devel/gcc-4.9.3::/usr/portage/sys-devel/gcc/gcc-4.9.3.ebuild)1461632536: >>> AUTOCLEAN: sys-devel/gcc:4.9.31461632582: === (1 of 1) Updating world file (sys-devel/gcc-4.9.3)1461632582: === (1 of 1) Post-Build Cleaning (sys-devel/gcc-4.9.3::/usr/portage/sys-devel/gcc/gcc-4.9.3.ebuild)1461632582: ::: completed emerge (1 of 1) sys-devel/gcc-4.9.3 to /1461632582: === Unmerging... (sys-devel/gcc-4.7.3-r1)1461632591: >>> unmerge success: sys-devel/gcc-4.7.3-r11461632591: *** Finished. Cleaning up...1461632592: *** exiting successfully.1461632593: *** terminating.
(wang)wenxu@wenxu ~/wang/lib/python2.7/site-packages/tensorflow $ pythonPython 2.7.5 (default, Oct 10 2013, 05:44:34) [GCC 4.7.3] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import tensorflow>>> hello=tensorflow.constant("Hello,tensorflow!")>>> se=tensorflow.Session()I tensorflow/core/common_runtime/local_device.cc:25] Local device intra op parallelism threads: 2I tensorflow/core/common_runtime/local_session.cc:45] Local session inter op parallelism threads: 2>>> print se.run(hello)Hello,tensorflow!>>>
大功告成。
- 在gentoo环境下安装tensorflow
- Oracle在gentoo下安装
- Oracle在gentoo下安装
- tensorflow在windows环境下的安装
- 在centos6环境下安装TensorFlow
- 在linux环境下安装tensorflow
- gentoo环境下裁剪、安装内核
- gentoo环境下裁剪、安装内核
- 在ubuntu环境下安装cpu版本的tensorflow
- 在windows下安装opencv3+tensorflow的python开发环境
- Tensorflow在Anaconda环境下安装以及一些问题【转】
- TensorFlow在windows环境下的安装(1)
- Win10在anaconda集成环境下安装tensorflow
- Windows环境下安装Tensorflow
- windows环境下安装TensorFlow
- Windows环境下安装Tensorflow
- Virtualenv环境下安装TensorFlow
- Tensorflow环境下安装Pandas
- 【VS开发】学习VS2010 ------ 多种类型的视图集合CTabView
- IP地址段与子网掩码
- iOS开发系列--Objective-C之类和对象
- 饿了么移动APP的架构演进
- 《JAVA与模式》之简单工厂模式
- 在gentoo环境下安装tensorflow
- (OK) grub2-set-default——kernel updates keep defaulting to debug kernel
- iOS开发系列--Objective-C之协议、代码块、分类
- 偷师饿了么:怎样用HTTP/2优化iOS APP网络层次架构?
- 《JAVA与模式》之适配器模式
- 【bzoj2626】JZPFAR kd-tree
- JavaWeb之抓包之旅(二) :抓包工具
- 你应该知道的那些Android小经验
- 欢迎使用CSDN-markdown编辑器