摘要:背景通過源碼安裝第三方庫時(shí),經(jīng)常會出現(xiàn)該庫依賴的頭文件庫找不到的情況,特別是自己編譯安裝的庫時(shí)。
背景
通過源碼安裝python第三方庫時(shí),經(jīng)常會出現(xiàn)該庫依賴的c/c++頭文件、庫找不到的情況,特別是自己編譯安裝的c/c++庫時(shí)。比如leveldb,mysql等等。我今天安裝leveldb的python庫時(shí),就遇到了這個(gè)情況。
解決:通過setup.py的錯(cuò)誤,定位到出錯(cuò)的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ù)的詳細(xì)解釋,所以,只用在Extension中加上兩個(gè)參數(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)在解決了,留個(gè)學(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://systransis.cn/yun/45351.html
摘要:主要是庫文件頭文件文件不一致的問題。定義模塊函數(shù)其中函數(shù)參數(shù)是模塊自身,是傳遞的參數(shù)列表,返回值定義了一個(gè)整形數(shù),這里會申請空間增加引用計(jì)數(shù),交由來管理這個(gè)引用。 C++開發(fā)python windows版本的擴(kuò)展模塊示例測試環(huán)境介紹和準(zhǔn)備測試環(huán)境:操作系統(tǒng):windows10Python版本:3.7.0VS版本:vs2015社區(qū)版(免費(fèi))相關(guān)工具下載:VS版本vs2015社區(qū)版(免費(fèi))...
摘要:主要是庫文件頭文件文件不一致的問題。定義模塊函數(shù)其中函數(shù)參數(shù)是模塊自身,是傳遞的參數(shù)列表,返回值定義了一個(gè)整形數(shù),這里會申請空間增加引用計(jì)數(shù),交由來管理這個(gè)引用。 C++開發(fā)python windows版本的擴(kuò)展模塊示例測試環(huán)境介紹和準(zhǔn)備測試環(huán)境:操作系統(tǒng):windows10Python版本:3.7.0VS版本:vs2015社區(qū)版(免費(fèi))相關(guān)工具下載:VS版本vs2015社區(qū)版(免費(fèi))...
摘要:所以,最大的好處就是將腳本語言的開發(fā)效率和的運(yùn)行效率有機(jī)的結(jié)合起來。前面的文章提到一個(gè)實(shí)現(xiàn)的雙數(shù)組的實(shí)現(xiàn),它在中文分詞新詞發(fā)現(xiàn)等算法中的應(yīng)用。本文以的封裝實(shí)現(xiàn)來說明的使用。編譯生成動態(tài)庫編譯生成的使用的,可以參考的編寫。 如果覺得文章對你有幫助,你也可以訪問老猿的個(gè)人博客https://www.yuanrenxue.com/ Python調(diào)用C/C++代碼的利器除了boost_pyt...
摘要:起步由于在底層運(yùn)算中會對每個(gè)運(yùn)算做類型檢查這就影響了運(yùn)行的性能,而利用擴(kuò)展可以避免這樣的情況獲得優(yōu)越的執(zhí)行性能,利用提供的,如宏,類型,函數(shù)等來編寫擴(kuò)展。測試更多關(guān)于模塊擴(kuò)展內(nèi)容 起步 由于python在底層運(yùn)算中會對每個(gè)運(yùn)算做類型檢查, 這就影響了運(yùn)行的性能,而利用擴(kuò)展, 可以避免這樣的情況, 獲得優(yōu)越的執(zhí)行性能,利用Python提供的C API,如宏,類型,函數(shù)等來編寫擴(kuò)展。 前期...
閱讀 2742·2021-11-17 17:01
閱讀 2122·2021-09-28 09:35
閱讀 3642·2021-09-01 11:04
閱讀 923·2020-06-22 14:41
閱讀 3011·2019-08-30 15:55
閱讀 2630·2019-08-30 15:43
閱讀 2366·2019-08-26 13:54
閱讀 2543·2019-08-26 13:48