1. 程式人生 > >離線環境下redhat7.2已及centOS(7.0版本以上)安裝python3.6以及tensorflow1.5、opencv3.4.5流程和採坑總結

離線環境下redhat7.2已及centOS(7.0版本以上)安裝python3.6以及tensorflow1.5、opencv3.4.5流程和採坑總結

離線環境下redhat7.2已及centOS(7.0版本以上)安裝python3.6以及tensorflow1.5、opencv3.4.5流程和採坑總結

本部落格為主要是為了解決如何在離線環境下部署基於centOS7.0以上的系統。解決應用伺服器呼叫tensorflow和opencv的生產環境。下面基於所需要的安裝環境,安裝步驟,如何配置,缺失的系統檔案如何呼叫。此環境和系統已經通過呼叫和完成。

Tensorflow的安裝環境

  1. centos>7glibc版本>=2.17,gcc>=4.8.5。否則不保證低版本的系統在編譯安裝tensorflow時會遇到問題。報錯,無法編譯。)
  2. python>3.6依賴python3的環境(建議使用3,因為2版本只支援到2020年)
  3. Tensorflow1.5
    (不建議使用高版本及以上版本,有可能編譯出錯)
  4. Anaconda3(可選擇安裝,下面教程未使用anaconda進行安裝,但注意下載html5lib-0.9999999.tar.gz包替換anaconda3庫中的內容,同時不建議下載ananconda5.31以上版本的庫,會導致python編譯不了)
  5. Java 1.8(支援tomcat)
  6. Tomcat 8.5(建議8.5.35穩定版本)

安裝環境監測

首先檢視linux系統核心,本次安裝的linux版本為redhat7.2。
輸入ldd --version檢視glibc版本,輸入cat /proc/version檢視gcc
安裝需求glibc版本大於2.17.gcc=4.8.3親測可裝。


上圖紅框處標明本機使用的環境。

離線安裝兩種方式

現在分為兩種安裝過程。且兩種環境都安裝成功。第一種找一個redhat環境,配置可以連線外網,安裝一個python3.6版本。並使用/python3.6/bin/pip3的命令執行安裝。所需要的庫和依賴。第二種是需要root許可權,安裝編譯python,並將tensorflow的安裝包匯入本機,然後進行安裝。

第一種取巧的方式詳細說明

我們現在已經將已經編譯好的python3.6包含tensorflow 和opencv的版本打包好。
上傳到伺服器後直接解壓縮。tar -xvf python36-1211.tar.gz。解壓後。cd開啟python36/bin/ 輸入./python3啟動python3
在這裡插入圖片描述
如圖所示這樣就可以直接呼叫已經通過編譯儲存的tensorflow。
進入python編譯模式。輸入以下程式碼。

	import tensorflow as tf  
	sess = tf.Session()  
	a = tf.constant(10)  
	b = tf.constant(22)  
	print(sess.run(a + b))  
 

在這裡插入圖片描述
假如匯入tf.Session()的時候,出現如上圖所示的警告,就說明cpu不支援加速運算,對tensorflow基本執行不打擾,只是有可能執行速率變慢。
結果出現32表示我們的TensorFlow安裝成功。
接著匯入import cv2.

在這裡插入圖片描述
系統提示的資訊是libSM.so.6的包並不支援。。出現錯誤的原因是linux系統底層不支援這個。所以在這裡,我們提供libICE.so.6.3.0和libSM.so.6.0.1。在csdn下載目錄中
需要使用root使用者的許可權將提供的包拷貝到/usr/lib64/目錄下。
在該目錄下以root使用者許可權使用

ln -s libICE.so.6.3.0 libICE.so.6
ln -s libICE.so.6.3.0 libICE.so

ln -s libSM.so.6.0.1 libSM.so
ln -s libSM.so.6.0.1 libSM.so.6

將copy的包軟連線到上述應用上。接著回去/python36/bin目錄用./python3開啟python測試。
在這裡插入圖片描述
這樣cv2就匯入成功。
接著。如果後期機器學習需要加包,我們就可以直接在本機已經啟動的python3中的pip3目錄直接下載。下載方式跟普通pip3下載一樣。

下載後,再將python3.6打包部署到離線環境。這樣就有效的避免了tensorflow需要依賴包的環境。

第二種詳細的安裝方式詳細說明

1.首先安裝解壓jdk1.8到當前目錄下

tar -zxvf jdk-8u131-linux-x64.tar.gz
mkdir /usr/java
mv /usr/java/jdk1.8.0_131 /usr/java
(假如系統未自帶壓縮包,從安裝所需檔案中安裝bzip2-1.0.6.tar.gz)

2.解壓tomcat到目錄下。

在linux下Tomcat配置連線jdk路徑
{TOMCAT_HOME}/bin/catalina.sh或setenv.sh檔案:
export JAVA_HOME=/usr/java/jdk1.7.0_55
或用的全一點如下設定(用上面只設置一個JAVA_HOME足夠了):
export JAVA_HOME=/usr/local/java/jdk1.8.0_162
export JRE_HOME=/usr/local/java/jdk1.8.0_162/jre
export PATH=$PATH:/usr/local/java/jdk1.8.0_162/bin
export CLASSPATH=/usr/local/java/jdk1.8.0_162/lib:/usr/local/java/jdk1.8.0_162/jre/lib
將war放入tomcat/webapp中

3、安裝Python的tensorflow環境(全在tensorflow中)

1.Python-3.6.6.tgz
2.tensorflow-1.7.0rc0-cp36-cp36m-linux_x86_64.whl(版本可以更改)
3.protobuf-3.5.2-cp36-cp36m-manylinux1_x86_64.whl
4.six-1.11.0-py2.py3-none-any.whl
5.gast-0.2.0.tar.gz
6.grpcio-1.10.0-cp36-cp36m-manylinux1_x86_64.whl
7.absl-py-0.1.11.tar.gz
8.numpy-1.14.2-cp36-cp36m-manylinux1_x86_64.whl
9.tensorboard-1.6.0-py3-none-any.whl
10.html5lib-0.9999999.tar.gz
11.Werkzeug-0.14.1-py2.py3-none-any.whl
12.bleach-1.5.0-py2.py3-none-any.whl
13.termcolor-1.1.0.tar.gz
14.astor-0.6.2-py2.py3-none-any.whl
15.wheel-0.30.0-py2.py3-none-any.whl
1、以whl結尾的檔案可以使用如下命令安裝
pip install xxxxx.whl(安裝檔名)
2、以.tar.gz結尾的檔案要先解壓在進入解壓資料夾,使用python setup.py install安裝 示例如下
tar zxvf gast-0.2.0.tar.gz
cd gast-0.20
python setup.py install
3、由於TensorFlow的安裝要依賴很多其他安裝包,所以安裝關係是承繼
關係,所以要先安裝最底層依賴的安裝包,然後層層遞增,最後安裝TensorFlow
安裝順序如下
首先我們安裝所有的tar.gz 檔案
html5lib-0.9999999.tar.gz
gast-0.2.0.tar.gz
absl-py-0.1.11.tar.gz
termcolor-1.1.0.tar.gz
記住tar.gz檔案的安裝方法3部,
1解壓,2進入資料夾,3 執行python setup.py install 命令
接下來我們來安裝whl 檔案 whl有依賴關係所以要按照先後順序安裝。安裝方法 pip install xxxx.whl(檔名)
1)six-1.11.0-py2.py3-none-any.whl
2)protobuf-3.5.2-cp36-cp36m-manylinux1_x86_64.whl
3)grpcio-1.10.0-cp36-cp36m-manylinux1_x86_64.whl
4)numpy-1.14.2-cp36-cp36m-manylinux1_x86_64.whl
5)Werkzeug-0.14.1-py2.py3-none-any.whl
6)Markdown-2.6.11-py2.py3-none-any.whl
7)wheel-0.30.0-py2.py3-none-any.whl
8)bleach-1.5.0-py2.py3-none-any.whl
9)tensorboard-1.6.0-py3-none-any.whl
10)astor-0.6.2-py2.py3-none-any.whl
3、安裝TensorFlow
上面所有的依賴安裝成功後我們就可以安裝TensorFlow
pip install tensorflow-1.1.0rc2-cp36-cp36m-manylinux1_x86_64.whl
這樣TensorFlow我們就安裝成功了
4、驗證
安裝完成後我們進行一下驗證,TensorFlow環境是否成功
在命令列中輸入python
#python
進入python編譯模式

	import tensorflow as tf  
	sess = tf.Session()  
	a = tf.constant(10)  
	b = tf.constant(22)  
	print(sess.run(a + b))  
 

檢視有無報錯

tips

1.建議安裝環境centos>7.glibc>2.17.gcc>CXXABI_1.3.7
2.如果使用anaconda3 5.51安裝需要環境,安裝後將anaconda鐘點房html5lib刪除換成tensorflow中的html99999的包

下載編譯的python3包的百度雲連結

因為csdn沒辦法上傳大於220M的檔案所以。只好放在百度雲中。
連結: link.
密碼: 在安裝步驟文件裡面有https://download.csdn.net/download/qq_26925867/10846034