1. 程式人生 > 程式設計 >python打包成so檔案過程解析

python打包成so檔案過程解析

這篇文章主要介紹了python打包成so檔案過程解析,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
pip install cython

編寫setput.py檔案:

setup.py檔案內容如下:

from distutils.core import setup
from distutils.extension import Extension
from Cython.Build import cythonize

extensions = [Extension("ln_facedetector",["ln_facedetector.py"],include_dirs=["/usr/local/lib"],libraries=["/usr/local/lib/python3.6/site-packages/cv2/cv2.cpython-36m-x86_64-linux-gnu.so","/usr/local/lib/python3.6/site-packages/dlib.cpython-36m-x86_64-linux-gnu.so"],library_dirs=["/usr/local/lib/python3.6/site-packages/cv2","/usr/local/lib/python3.6/site-packages"])]

setup(ext_modules=cythonize(extensions))

整個工程中包括多少個py檔案,就寫多少個Extension,並把需要呼叫的其他庫路徑在include_dirs、libraries、library_dirs中進行設定。

編譯so檔案,執行以下命令:

python setup.py build_ext

呼叫so檔案:

import sys
sys.path.append('/vloum/faceSO/ln_facedetector') #載入so檔案(入參為so檔案路徑)
from ln_facedetector import faceutil #import so檔案中的相關類
arr = faceutil.detection("/vloum/faceSO/a.jpg")
print(arr)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。