zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    win32程序添加控制台程序
    STL链表类模板的学习
    简单封装的串口通信类
    nyoj49 开心的小明
    hdu2094 产生冠军
    hdu1272 小希的迷宫
    hdu1106 排序
    hdu1999 不可摸数
    hdu2085 核反应堆
    nyoj119 士兵杀敌(三)
  • 原文地址:https://www.cnblogs.com/answerThe/p/11600590.html
Copyright © 2011-2022 走看看