在我們的c++項目要引入腳本,之前用了lua,也是非常好用,缺點就是學習的人比較少,所以考慮在新的項目中引用python作爲腳本。
首先先說明測試環境
宿主機:window10
虛擬機:VMware 12 ubuntu 16.04 desktop 64位版本
1 安裝虛擬機和ubuntu 16.04 desktop 64位版本 http://www.ffmpeg.club/tools_download.html
2 安裝編譯編譯和版本工具
sudo apt-get install g++ make git
3 安裝依賴庫
sudo apt-get -y install libbz2-dev libncurses5-dev libgdbm-dev liblzma-dev libsqlite3-dev libssl-dev libreadline6-dev libffi-dev
如果不安裝全,一些python擴展庫會編譯失敗,有些庫如果通過apt-get不能安裝,就要手動通過源碼編譯安裝。
3 下載python源碼
通過如下地址下載源碼
https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
可以直接用wget下載到系統中,如果wget沒有也使用apt-get 安裝。
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
4 解壓python
tar -xvf Python-3.7.0.tar.xz
cd Python-3.7.0
5 生成項目文件(Makefile)
./configure -h 查看所有支持的配置熟悉,附在文件的結尾處
我們使用默認參數,只設置如下參數。
./configure --enable-shared
其中enable-shared是編譯so動態庫,默認不編譯
安裝路徑不用設置,使用默認路徑會安裝到系統路徑,如果設置,需要在設置運行的環境變量
6 編譯
make -j8 #其中j8表示8線程編譯,多核cpu可以加快編譯速度
7 安裝
make install #安裝編譯好的文件
如果設置的默認路徑,會安裝如下文件和目錄
/usr/bin/python3 ##執行文件
/usr/local/bin/python3.7 #執行文件
/usr/local/lib/libpython3.7m.so #動態庫
/usr/local/lib/python3.7/ #目錄下放的是python的擴展庫
/usr/local/include/python3.7m #源碼頭文件
如果有的系統/usr/local/lib不是默認的庫加載路徑,那就把所有的.so文件複製到/usr/lib目錄下
8 執行
這樣python就安裝完畢,後面我們會依賴這個編譯好的庫做擴展和虛擬化定製。
Python & C/C++聯合編程實戰視頻課程
https://edu.csdn.net/course/detail/9701