boost.python的安裝
安裝boost
boost.python的測試
boost.python 是boost庫的乙個子功能,可以實現python和c/c++的無縫銜接。相比於cpython和cython來說boost.python在使用上會更加方便。關於boost.python的詳細內容可參見 boost.python官網
如果系統已經安裝了boost要先檢查是否已經有了此功能,如果之前boost是編譯安裝並且是完全安裝的,應該已經安裝了boost.python子功能,如果沒有安裝或者boost.python繫結了你不需要的python版本,則需要重新安裝。
我們直接去編譯一段**,如果可以通過,則說明已經安裝。示例** test.cpp
#include
char
const
*greet()
boost_python_module
(test)
編譯命令
g++ -i/usr/include/python2.7 -fpic test.cpp -lboost_python -shared -o test.so
如果程式可以正常通過編譯,一般能說明系統已經安裝了python.boost 並且繫結了python2。
如果boost的版本和python的版本都符合你的要求,則皆大歡喜,如果沒有得到預期結果,則繼續往下讀。
如果你的系統沒有安裝boost.python,但有可能已經安裝了boost(boost的非完全安裝)這種情況下則需要解除安裝重新安裝,所以我們需要檢查系統是否安裝了boost。boost一般會通過兩種方式安裝:1.包管理器安裝 2.編譯安裝。針對這兩種方式,以下提供了對應的檢查和解除安裝方式:
1.包管理器安裝方式的檢查、解除安裝
如果你的boost是通過yum(redhat陣營的linux,如redhat/centos)或者apt-get(debian陣營的linux,如ubuntu/deepin)安裝的,則可以使用這兩個工具檢查,如果已經安裝,則會顯示boost的版本,如果沒有安裝則顯示找不到相關檔案:
系統類別
檢查命令
redhat
rpm -qf /usr/include/boost/version.hpp
debian
dpkg -s /usr/include/boost/version.hpp
如果檢查到了則需要解除安裝
以boost1.58版本為例
系統類別
解除安裝命令
redhat
sudo yum remove libboost1.58-dev
debian
sudo apt-get autoremove libboost1.58-dev
2.編譯方式安裝的檢查、解除安裝
通過find 命令查詢 boost/version.hpp
sudo
find / -iname version.hpp
檢視boost的版本
cat version.hpp|
grep 「boost_lib_version」
sudo
rm -r -f /usr/local/include/boost*
sudo
rm -f /usr/local/lib/libboost*
安裝boost.python其實就是安裝boost,只不過我們安裝的時候選擇完全安裝即可。讀到此處的朋友基本上都是需要重灌boost或者需要boost.python子功能的,所以此處不建議使用包管理器安裝,它會帶來一些問題,我們直接選擇編譯安裝。
因為我們要使用boost.python,所以我們需要先檢查自己的python安裝位置及其版本,一般linux系統都會自帶python2和python3,預設為python2,此處分兩部分講解。
因為python2一般是linux預設的python版本,所以這裡的安裝不需要我們做過多的設定
解壓boost安裝包,並進入到首層目錄。
執行配置,選擇完全安裝
./bootstrap.sh --with-libraries=all
也可以通過 --prefix 指定安裝目錄,但一般不建議
,除非自己有特殊安排。預設目錄為/usr/local/lib
和/usr/local/include/boost
./bootstrap.sh --with-libraries=all --prefix=/usr/local/boost
sudo ./b2
sudo ./b2 install
安裝成功好會在 /usr/local/include/boost 和 /usr/local/lib 下看到boost的標頭檔案和庫檔案
如果想使用python3和boost.python一起使用,則需要在上面基礎上做一些調整,其實就是制定python的相關資訊,讓boost安裝器不使用預設的python2。此處以python3.6m為例。
解壓boost安裝包,並進入到首層目錄。
執行配置,選擇完全安裝。此處要指定python3.6的位置,不同的linux系統有所不同,可以通過命令:which python3
來查詢路徑。
./bootstrap.sh --with-libraries=all --with-python=/usr/bin/python3.6m
vim project-config.jam
using python : 3.6 : /usr/bin/python3.6m : /usr/include/python3.6m : /usr/lib/python3.6 ;
表示的意義為:
版本號 : 可執行檔案位置:頭檔案目錄:庫檔案目錄
編譯安裝
sudo ./b2
sudo ./b2 install --with-python include=
"/usr/include/python3.6m"
到此處,boost.python安裝完成。
#include
char
const
*greet()
boost_python_module
(test)
編譯命令
g++ -i/usr/include/python2.7 -fpic test.cpp -lboost_python -shared -o test.so
編寫python指令碼,test.py
import test
test.greet(
)
執行
python test.py
應該會輸出:
hello, world
Linux下Redis下安裝
redis安裝 檢查是否安裝redis ps ef grep redis2.檢查gcc服務是否安裝成功 rpm qa grep gcc注 安裝成功則顯示 mkdir redis5.解壓redis安裝包 tar zxvf redis 2.8.17 tar.gz c usr local redis 解壓...
Linux下安裝安裝arm linux gcc
1 tar指令解壓對應壓縮包到指定目錄,如arm linux gcc 4.3.2.tar.bz2壓縮包,sudo tar xvjf arm linux gcc 4.3.2.tar.bz2 c tar壓縮解壓縮 c 建立打包檔案,可搭配 v來觀察過程中被打包的檔名 filename t 檢視打包檔案的...
linux下安裝軟體
linux下安裝軟體有兩種方式 備註 linux 上面一般安裝 redhat 的rpm 包,在ubuntu 上一般安裝 deb的包 首先是rpm包的安裝教程 一是安裝二進位制的包,一般都是 rpm格式的了,常用 rpm ivh rpm 的方式來安裝了 rpm qa rpm命令。rpm安裝有時遇到依賴...