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