这篇文章主要介绍了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)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。