如何在不联网的centos6.5服务器上安装TensorFlow?

2026-05-26 17:502阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计973个文字,预计阅读时间需要4分钟。

如何在不联网的centos6.5服务器上安装TensorFlow?

当前——近期实现了深度学习检测模块,但产品所运行环境为Centos6.5+64位版本,其环境软件版本(glibc、glibc++、python、python包)较低。由于产品部署环境为离线状态,故各


现状

  前段时间实现了一个深度学习检测模块,但产品所在环境为​Centos6.5 64​位版本,其环境软件版本(glibc, glibc++, python, python包)过低。但是由于产品部署环境为离线状态,所以各种包只能先下载好,然后制作成升级包,最终进行产品升级。

如何在不联网的centos6.5服务器上安装TensorFlow?

预备知识

1.Centos, RedHat, Fedora之间的关系如下图所示,具体可参考链接(danielmiessler.com/study/fedora_redhat_centos/):

  所以Centos的rpm安装包可以到Fedora的网站上去寻找。其中centos6.5注意版本号包含el6。

升级

升级glibc版本

  glibc是GNU发布的c运行库,几乎所有的进程和命令都会依赖于它,所以安装过程必须要谨慎(最好做好备份)。

  依次安装下列包,具体地址为:copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/

  • rpm -Uvh glibc-2.17-55.el6.x86_64.rpm
  • rpm -Uvh glibc-common-2.17-55.el6.x86_64.rpm
  • rpm -Uvh glibc-devel-2.17-55.el6.x86_64.rpm
  • rpm -Uvh glibc-headers-2.17-55.el6.x86_64.rpm

升级glibcxx版本

  经过实验发现,glibcxx不需要安装,只需替换so库即可。下载地址可参考

  • cp libstdc++.so.6.0.22 /usr/lib64
  • rm -rf libstdc++.so.6
  • ln -s libstdc++.so.6.0.22 libstdc++.so.6
  • 升级Python(python2.7.10)

      由于Centos6.5自带的是python2.6,所以需要重新安装2.7。经过实验安装2.7.10即可。

      先说明之前给自己挖的一个坑:升级包并没有在官方网站上面下载,而是搜索下载了python-2.7.10.zip,导致后续出现各种bug。正确下载地址为:www.python.org/ftp/python/2.7.10/Python-2.7.10.tar.xz

      正确安装命令如下所示:

    ./configure --enable-unicode=ucs4 --enable-shared(编译动态库) --prefix=/usr/local/python27(指定安装目录)
    make all
    make install

      --enable-unicode=ucs4指定unicode编码为4位,如果不指定默认就为2位,后续就会出现相关错误。–enable-shared会生成动态库,它是c语言调用python的接口。

    升级安装各种Python包

      由于为离线状态,无法直接pip安装包,只能下载好依赖包,然后进行安装。

    1.rpm -ivh python-argparse-1.2.1-2.1.el6.noarch.rpm

    2.pip install -r requirements.txt,其中requirements.txt的内容如下所示:

    distribute-0.7.3.zip
    androguard-3.0.tar.gz
    requests-2.5.1.tar.gz
    typing-3.6.4.tar.gz
    future-0.16.0.tar.gz
    M2Crypto-0.27.0.tar.gz
    setuptools-38.4.0.zip
    pefile-master.zip
    Pillow-2.1.0.zip
    enum34-1.1.6.tar.gz
    numpy-1.15.1.zip
    python_dateutil-2.8.0-py2.py3-none-any.whl
    pytz-2018.9-py2.py3-none-any.whl
    pandas-0.23.4.tar.gz
    six-1.11.0-py2.py3-none-any.whl
    protobuf-3.4.0.tar.gz
    html5lib-0.9999999.tar.gz
    bleach-1.5.0-py2.py3-none-any.whl
    Markdown-2.6.8.tar.gz
    futures-3.1.1-py2-none-any.whl
    wheel-0.26.0-py2.py3-none-any.whl
    Werkzeug-0.13-py2.py3-none-any.whl
    tensorflow_tensorboard-1.5.0-py2-none-any.whl
    backports.weakref-1.0rc1-py2-none-any.whl
    pbr-1.0.0-py2.py3-none-any.whl
    funcsigs-1.0.2-py2.py3-none-any.whl
    mock-2.0.0-py2.py3-none-any.whl
    absl-py-0.1.10.tar.gz
    tensorflow-1.5.0-cp27-none-linux_x86_64.whl
    esprima-4.0.1.tar.gz

    bug记录

      1.在之前的代码模块中有一句代码为from PIL import Image,而在新加的依赖包(tensorflow中也包括了Image),在c调取Python代码过程中,就会出现hash collisions(哈希冲突)。修改办法为把原有模块中的代码修改为import PIL。



    本文共计973个文字,预计阅读时间需要4分钟。

    如何在不联网的centos6.5服务器上安装TensorFlow?

    当前——近期实现了深度学习检测模块,但产品所运行环境为Centos6.5+64位版本,其环境软件版本(glibc、glibc++、python、python包)较低。由于产品部署环境为离线状态,故各


    现状

      前段时间实现了一个深度学习检测模块,但产品所在环境为​Centos6.5 64​位版本,其环境软件版本(glibc, glibc++, python, python包)过低。但是由于产品部署环境为离线状态,所以各种包只能先下载好,然后制作成升级包,最终进行产品升级。

    如何在不联网的centos6.5服务器上安装TensorFlow?

    预备知识

    1.Centos, RedHat, Fedora之间的关系如下图所示,具体可参考链接(danielmiessler.com/study/fedora_redhat_centos/):

      所以Centos的rpm安装包可以到Fedora的网站上去寻找。其中centos6.5注意版本号包含el6。

    升级

    升级glibc版本

      glibc是GNU发布的c运行库,几乎所有的进程和命令都会依赖于它,所以安装过程必须要谨慎(最好做好备份)。

      依次安装下列包,具体地址为:copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/

    • rpm -Uvh glibc-2.17-55.el6.x86_64.rpm
    • rpm -Uvh glibc-common-2.17-55.el6.x86_64.rpm
    • rpm -Uvh glibc-devel-2.17-55.el6.x86_64.rpm
    • rpm -Uvh glibc-headers-2.17-55.el6.x86_64.rpm

    升级glibcxx版本

      经过实验发现,glibcxx不需要安装,只需替换so库即可。下载地址可参考

  • cp libstdc++.so.6.0.22 /usr/lib64
  • rm -rf libstdc++.so.6
  • ln -s libstdc++.so.6.0.22 libstdc++.so.6
  • 升级Python(python2.7.10)

      由于Centos6.5自带的是python2.6,所以需要重新安装2.7。经过实验安装2.7.10即可。

      先说明之前给自己挖的一个坑:升级包并没有在官方网站上面下载,而是搜索下载了python-2.7.10.zip,导致后续出现各种bug。正确下载地址为:www.python.org/ftp/python/2.7.10/Python-2.7.10.tar.xz

      正确安装命令如下所示:

    ./configure --enable-unicode=ucs4 --enable-shared(编译动态库) --prefix=/usr/local/python27(指定安装目录)
    make all
    make install

      --enable-unicode=ucs4指定unicode编码为4位,如果不指定默认就为2位,后续就会出现相关错误。–enable-shared会生成动态库,它是c语言调用python的接口。

    升级安装各种Python包

      由于为离线状态,无法直接pip安装包,只能下载好依赖包,然后进行安装。

    1.rpm -ivh python-argparse-1.2.1-2.1.el6.noarch.rpm

    2.pip install -r requirements.txt,其中requirements.txt的内容如下所示:

    distribute-0.7.3.zip
    androguard-3.0.tar.gz
    requests-2.5.1.tar.gz
    typing-3.6.4.tar.gz
    future-0.16.0.tar.gz
    M2Crypto-0.27.0.tar.gz
    setuptools-38.4.0.zip
    pefile-master.zip
    Pillow-2.1.0.zip
    enum34-1.1.6.tar.gz
    numpy-1.15.1.zip
    python_dateutil-2.8.0-py2.py3-none-any.whl
    pytz-2018.9-py2.py3-none-any.whl
    pandas-0.23.4.tar.gz
    six-1.11.0-py2.py3-none-any.whl
    protobuf-3.4.0.tar.gz
    html5lib-0.9999999.tar.gz
    bleach-1.5.0-py2.py3-none-any.whl
    Markdown-2.6.8.tar.gz
    futures-3.1.1-py2-none-any.whl
    wheel-0.26.0-py2.py3-none-any.whl
    Werkzeug-0.13-py2.py3-none-any.whl
    tensorflow_tensorboard-1.5.0-py2-none-any.whl
    backports.weakref-1.0rc1-py2-none-any.whl
    pbr-1.0.0-py2.py3-none-any.whl
    funcsigs-1.0.2-py2.py3-none-any.whl
    mock-2.0.0-py2.py3-none-any.whl
    absl-py-0.1.10.tar.gz
    tensorflow-1.5.0-cp27-none-linux_x86_64.whl
    esprima-4.0.1.tar.gz

    bug记录

      1.在之前的代码模块中有一句代码为from PIL import Image,而在新加的依赖包(tensorflow中也包括了Image),在c调取Python代码过程中,就会出现hash collisions(哈希冲突)。修改办法为把原有模块中的代码修改为import PIL。