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)