摘要:背景通過源碼安裝第三方庫時,經(jīng)常會出現(xiàn)該庫依賴的頭文件庫找不到的情況,特別是自己編譯安裝的庫時。
背景
通過源碼安裝python第三方庫時,經(jīng)常會出現(xiàn)該庫依賴的c/c++頭文件、庫找不到的情況,特別是自己編譯安裝的c/c++庫時。比如leveldb,mysql等等。我今天安裝leveldb的python庫時,就遇到了這個情況。
解決:通過setup.py的錯誤,定位到出錯的setup.py代碼行,如下:
ext_modules = [ Extension( "plyvel._plyvel", sources=["plyvel/_plyvel.cpp", "plyvel/comparator.cpp"], libraries=["leveldb"], extra_compile_args=["-Wall", "-g"] ) ]
通過上網(wǎng)查詢,得知,setup.py的ext_modules參數(shù)的詳細解釋,所以,只用在Extension中加上兩個參數(shù),加完后:
ext_modules = [ Extension( "plyvel._plyvel", sources=["plyvel/_plyvel.cpp", "plyvel/comparator.cpp"], libraries=["leveldb"], extra_compile_args=["-Wall", "-g"], include_dirs = ["/Users/simon/Downloads/leveldb-1.15.0/include"], library_dirs = ["/Users/simon/Downloads/leveldb-1.15.0"] ) ]
include_dirs指定了搜索的頭文件路徑,library_dirs指定了搜索的動態(tài)庫或者靜態(tài)庫的路徑
后記以前經(jīng)常遇到,現(xiàn)在解決了,留個學(xué)習(xí)筆記,方便自己以后查看
setup.py參數(shù)詳解:http://blog.csdn.net/yiliumu/article/details/30841377
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/45351.html
摘要:主要是庫文件頭文件文件不一致的問題。定義模塊函數(shù)其中函數(shù)參數(shù)是模塊自身,是傳遞的參數(shù)列表,返回值定義了一個整形數(shù),這里會申請空間增加引用計數(shù),交由來管理這個引用。 C++開發(fā)python windows版本的擴展模塊示例測試環(huán)境介紹和準(zhǔn)備測試環(huán)境:操作系統(tǒng):windows10Python版本:3.7.0VS版本:vs2015社區(qū)版(免費)相關(guān)工具下載:VS版本vs2015社區(qū)版(免費)...
摘要:主要是庫文件頭文件文件不一致的問題。定義模塊函數(shù)其中函數(shù)參數(shù)是模塊自身,是傳遞的參數(shù)列表,返回值定義了一個整形數(shù),這里會申請空間增加引用計數(shù),交由來管理這個引用。 C++開發(fā)python windows版本的擴展模塊示例測試環(huán)境介紹和準(zhǔn)備測試環(huán)境:操作系統(tǒng):windows10Python版本:3.7.0VS版本:vs2015社區(qū)版(免費)相關(guān)工具下載:VS版本vs2015社區(qū)版(免費)...
摘要:所以,最大的好處就是將腳本語言的開發(fā)效率和的運行效率有機的結(jié)合起來。前面的文章提到一個實現(xiàn)的雙數(shù)組的實現(xiàn),它在中文分詞新詞發(fā)現(xiàn)等算法中的應(yīng)用。本文以的封裝實現(xiàn)來說明的使用。編譯生成動態(tài)庫編譯生成的使用的,可以參考的編寫。 如果覺得文章對你有幫助,你也可以訪問老猿的個人博客https://www.yuanrenxue.com/ Python調(diào)用C/C++代碼的利器除了boost_pyt...
摘要:起步由于在底層運算中會對每個運算做類型檢查這就影響了運行的性能,而利用擴展可以避免這樣的情況獲得優(yōu)越的執(zhí)行性能,利用提供的,如宏,類型,函數(shù)等來編寫擴展。測試更多關(guān)于模塊擴展內(nèi)容 起步 由于python在底層運算中會對每個運算做類型檢查, 這就影響了運行的性能,而利用擴展, 可以避免這樣的情況, 獲得優(yōu)越的執(zhí)行性能,利用Python提供的C API,如宏,類型,函數(shù)等來編寫擴展。 前期...
閱讀 2794·2021-11-17 17:01
閱讀 2179·2021-09-28 09:35
閱讀 3691·2021-09-01 11:04
閱讀 996·2020-06-22 14:41
閱讀 3039·2019-08-30 15:55
閱讀 2685·2019-08-30 15:43
閱讀 2400·2019-08-26 13:54
閱讀 2569·2019-08-26 13:48