我的服务器是Centos6.9的系统无GPU,而因为python2.7的版本 没法直接使用 pip 安装tensorflow ,而我又因为很多原因需要使用python2,项目一时没法升到python3,所以有了这篇帖子
首先因为我的项目需要用到 bzip2 所以安装bzip2开发包
$ yum install bzip2-devel
CentOS预设的python是2.6版本的因此我下了一个Python2.7.15
官方下载地址 https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz
$ tar zxvf Python-2.7.15.tgz
$ cd Python-2.7.15.tgz
$ ./configure --enable-unicode=ucs4
$ make
$ make install
注意后面的 --enable-unicode=ucs4 这个必须加上,因为tensorflow包使用的是ucs4编码,
如果不加上,之后在python 中import tensorflow会报一个 PyUnicodeUCS4_FromString 错误
再来就是 GLIBC 跟 c/c++版本太低,需要更新
GLIBC在这里下载 http://ftp.gnu.org/gnu/glibc/
因为我用的 Tensorflow是1.8.0 的版本
glibc 太旧会报ImportError: /lib64/libc.so.6: version `GLIBC_2.17' not found的错误
所以我下载了 glibc-2.17.tar.gz 这个版本的glibc
$ tar zxvf glibc-2.17.tar.gz
$ cd glibc-2.17
$ mkdir build
$ cd build
$ ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
$ make
$ make install
以及GCC太旧会出现 ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found
下载地址 http://ftp.gnu.org/gnu/gcc/
我使用的是 gcc-4.9.4.tar.gz
$ tar zxvf gcc-4.9.4.tar.gz
$ cd gcc-4.9.4
$ ./contrib/download_prerequisites
$ mkdir build
$ cd build/
$ ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
$ make
$ make install
安装完预设 libstdc++.so.6是放在 /usr/local/lib64下的,所以需要改一下
$ cd /usr/lib64
$ rm libstdc++.so.6
$ ln -s /usr/local/lib64/libstdc++.so.6.0.20 /usr/lib64/libstdc++.so.6
然后下载 tensorflow 为了方便我下载的是 whl 版本
下载地址 https://download.csdn.net/download/weixin_36441117/10738456 (支持一下赚点资源分,谢谢)
pip install tensorflow-1.8.0-cp27-none-linux_x86_64.whl
全部完事了测试一下 tensorflow
如果有报其他错误,一般都是因为你安装顺序的问题,你可以看看出错的包,
然后用 pip uninstall 之后重新安装就好了
另外其他常用的包 pip 安装就可以了
pip install keras
pip install gensim