python打包成so文件过程解析


Posted in Python onSeptember 28, 2019

这篇文章主要介绍了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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
c++生成dll使用python调用dll的方法
Jan 20 Python
python将图片文件转换成base64编码的方法
Mar 14 Python
python实现对一个完整url进行分割的方法
Apr 29 Python
Python中转换角度为弧度的radians()方法
May 18 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
Dec 12 Python
python构建自定义回调函数详解
Jun 20 Python
详解python字节码
Feb 07 Python
Python+OpenCV感兴趣区域ROI提取方法
Jan 10 Python
钉钉群自定义机器人消息Python封装的实例
Feb 20 Python
python七夕浪漫表白源码
Apr 05 Python
Python字符串的常见操作实例小结
Apr 08 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
Jul 23 Python
python基于FTP实现文件传输相关功能代码实例
Sep 28 #Python
python网络爬虫 Scrapy中selenium用法详解
Sep 28 #Python
在vscode中配置python环境过程解析
Sep 28 #Python
python爬虫 线程池创建并获取文件代码实例
Sep 28 #Python
python 单线程和异步协程工作方式解析
Sep 28 #Python
python爬虫 正则表达式解析
Sep 28 #Python
python爬虫 Pyppeteer使用方法解析
Sep 28 #Python
You might like
php array_flip() 删除数组重复元素
2009/01/14 PHP
php根据年月获取季度的方法
2014/03/31 PHP
php的socket编程详解
2016/11/20 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
JavaScript 编程引入命名空间的方法
2007/06/29 Javascript
prototype与jquery下Ajax实现的差别
2009/09/13 Javascript
js 键盘记录实现(兼容FireFox和IE)
2010/02/07 Javascript
改变javascript函数内部this指针指向的三种方法
2010/04/23 Javascript
jQuery中的bind绑定事件与文本框改变事件的临时解决方法
2010/08/13 Javascript
javascript 小数取整简单实现方式
2014/05/30 Javascript
jquery bind(click)传参让列表中每行绑定一个事件
2014/08/06 Javascript
javascript递归回溯法解八皇后问题
2015/04/22 Javascript
jQGrid动态填充select下拉框的选项值(动态填充)
2016/11/28 Javascript
前端开发之CSS原理详解
2017/03/11 Javascript
AngularJS中使用ngModal模态框实例
2017/05/27 Javascript
vue select选择框数据变化监听方法
2018/08/24 Javascript
微信小程序中上传图片并进行压缩的实现代码
2018/08/28 Javascript
JsonServer安装及启动过程图解
2020/02/28 Javascript
javascript中正则表达式语法详解
2020/08/07 Javascript
[56:21]LGD vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python中将阿拉伯数字转换成中文的实现代码
2011/05/19 Python
MySQL最常见的操作语句小结
2015/05/07 Python
python获取局域网占带宽最大3个ip的方法
2015/07/09 Python
100行python代码实现跳一跳辅助程序
2018/01/15 Python
Python的Tkinter点击按钮触发事件的例子
2019/07/19 Python
python实现网站用户名密码自动登录功能
2019/08/09 Python
Python学习笔记之函数的定义和作用域实例详解
2019/08/13 Python
Django 简单实现分页与搜索功能的示例代码
2019/11/07 Python
全面解析HTML5中的标准属性与自定义属性
2016/02/18 HTML / CSS
HTML5实现文件断点续传的方法
2017/01/04 HTML / CSS
新加坡网上花店:FlowerAdvisor新加坡
2018/10/05 全球购物
作文评语集锦大全
2014/04/23 职场文书
2014年实习期工作总结
2014/11/27 职场文书
用python实现监控视频人数统计
2021/05/21 Python
pytorch 实现在测试的时候启用dropout
2021/05/27 Python
Spring Boot 使用 Spring-Retry 进行重试框架
2022/04/24 Java/Android