爲setup.py添加c/c++ 頭文件或者庫的搜索路徑

背景

經過源碼安裝python第三方庫時,常常會出現該庫依賴的c/c++頭文件、庫找不到的狀況,特別是本身編譯安裝的c/c++庫時。好比leveldb,mysql等等。我今天安裝leveldb的python庫時,就遇到了這個狀況。python

解決:

經過setup.py的錯誤,定位到出錯的setup.py代碼行,以下:mysql

ext_modules = [
        Extension(
            'plyvel._plyvel',
            sources=['plyvel/_plyvel.cpp', 'plyvel/comparator.cpp'],
            libraries=['leveldb'],
            extra_compile_args=['-Wall', '-g']
        )   
    ]

經過上網查詢,得知,setup.py的ext_modules參數的詳細解釋,因此,只用在Extension中加上兩個參數,加完後:c++

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指定了搜索的動態庫或者靜態庫的路徑sql

後記

之前常常遇到,如今解決了,留個學習筆記,方便本身之後查看學習

setup.py參數詳解:http://blog.csdn.net/yiliumu/article/details/30841377.net

相關文章
相關標籤/搜索