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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM