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 相关文章推荐
详细介绍Python语言中的按位运算符
Nov 26 Python
python实现可将字符转换成大写的tcp服务器实例
Apr 29 Python
详解MySQL数据类型int(M)中M的含义
Nov 20 Python
详解Python在七牛云平台的应用(一)
Dec 05 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
May 30 Python
Python面向对象之接口、抽象类与多态详解
Aug 27 Python
Python中按键来获取指定的值
Mar 02 Python
python多线程分块读取文件
Aug 29 Python
Selenium基于PIL实现拼接滚动截图
Apr 10 Python
Python APScheduler执行使用方法详解
Dec 10 Python
python通配符之glob模块的使用详解
Apr 24 Python
浅谈Python中的函数(def)及参数传递操作
May 25 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
无线电的诞生过程
2021/03/01 无线电
php 取得瑞年与平年的天数的代码
2009/08/10 PHP
PHP flush 函数使用注意事项
2016/08/26 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
PHP实现一个按钮点击上传多个图片操作示例
2020/01/23 PHP
070823更新的一个[消息提示框]组件 兼容ie7
2007/08/29 Javascript
IE6,IE7,IE8下使用Javascript记录光标选中范围(已补全)
2011/08/28 Javascript
禁止页面刷新让F5快捷键及右键都无效
2014/01/22 Javascript
详解vue 中使用 AJAX获取数据的方法
2017/01/18 Javascript
原生JS实现简单放大镜效果
2017/02/08 Javascript
jQuery鼠标悬停内容动画切换效果
2017/04/27 jQuery
Javascript继承机制详解
2017/05/30 Javascript
深入浅析var,let,const的异同点
2018/08/07 Javascript
从零开始封装自己的自定义Vue组件
2018/10/09 Javascript
说说如何使用Vuex进行状态管理(小结)
2019/04/14 Javascript
基于js实现抽红包并分配代码实例
2019/09/19 Javascript
原生javascript单例模式的应用实例分析
2020/02/23 Javascript
Selenium执行JavaScript脚本的方法示例
2020/12/31 Javascript
[53:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第三场 6.2
2018/06/03 DOTA
python查询mysql中文乱码问题
2014/11/09 Python
Python中将字典转换为列表的方法
2016/09/21 Python
python 将日期戳(五位数时间)转换为标准时间
2019/07/11 Python
python:动态路由的Flask程序代码
2019/11/22 Python
Python importlib动态导入模块实现代码
2020/04/16 Python
tensorflow中tf.reduce_mean函数的使用
2020/04/19 Python
python基于win32api实现键盘输入
2020/12/09 Python
使用html2canvas实现浏览器截图的示例代码
2018/01/26 HTML / CSS
介绍一下.NET构架下remoting和webservice
2014/05/08 面试题
几道Web/Ajax的面试题
2016/11/05 面试题
特教教师先进事迹
2014/05/21 职场文书
海洋科学专业求职信
2014/08/10 职场文书
党的群众路线教育实践活动心得体会(乡镇)
2014/11/03 职场文书
农村党支部承诺书
2015/04/30 职场文书
2015年电话客服工作总结
2015/05/18 职场文书
Java实现多文件上传功能
2021/06/30 Java/Android
Python实现抖音热搜定时爬取功能
2022/03/16 Python