2021-05-12 14:32:11
CentOS6.5下Python版本的ProtoBuf編譯及安裝
因為要學習faster r-cnn,在搭建環境的時,發現原本通過yum安裝的protobuf沒有安裝Python版本以及其他一系列版本版本相容性問題,導致我必須用編譯方式重新安裝protobuf2.5
下載原始碼
首先,從github上下載protobuf的原始碼,地址:https://github.com/google/protobuf,我選擇下載2.5.0版本。
編譯protobuf
然後將下載的壓縮包解壓縮
unzip protobuf-2.5.0.zip
按照網上教學,應該執行./configure
了,但是根目錄下居然沒有configure檔案,卻有一個autogen.sh,原來是因為protobuf的編譯方式做了修改,要執行autogen.sh才會生成configure指令碼。
但在執行autogen.sh時出錯了,因為google.com被牆了,我的虛擬機器裡無法下載gtest,於是手動下載googletest-release-1.5.0.zip,解壓縮後,改名為gtest放在protobuf-2.5.0目錄下
autogen.sh程式碼片段
# Check that gtest is present. Usually it is already there since the
# directory is set up as an SVN external.
# 判斷是否存在gtest目錄
if test ! -e gtest; then
echo "Google Test not present. Fetching gtest-1.5.0 from the web..."
#如果目錄不存在則嘗試從google.com下載並解壓縮,如果google被牆則下載失敗
curl http://googletest.googlecode.com/files/gtest-1.5.0.tar.bz2 | tar jx
#將解壓縮後的目錄改名為gtest
mv gtest-1.5.0 gtest
fi
googletest1.5.0可以到Linux公社資源站下載:
------------------------------------------分割線------------------------------------------
免費下載地址在 http://linux.linuxidc.com/
使用者名稱與密碼都是www.linuxidc.com
具體下載目錄在 /2017年資料/3月/27日/CentOS6.5下Python版本的ProtoBuf編譯及安裝/
下載方法見 http://www.linuxidc.com/Linux/2013-07/87684.htm
------------------------------------------分割線------------------------------------------
#解壓縮
unzip gtest-1.5.0.zip
mv gtest-1.5.0 gtest
執行protobuf編譯
#執行autogen.sh生成configure
./autogen.sh
./configure
# -j8 多執行緒編譯
make -j8
make check
# 安裝編譯成功的protobuf
sudo make install
安裝python模組
cd python
python setup.py build
python setup.py test
python setup.py install
驗證Python模組
驗證Python模組是否被正確安裝
如果沒有報錯,說明安裝正常。
$ python
>>> import google.protobuf.internal
>>>
參考:http://www.linuxidc.com/Linux/2017-03/142242.htm
本文永久更新連結地址:http://www.linuxidc.com/Linux/2017-03/142243.htm
相關文章