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之PyUnit单元测试实例
Oct 11 Python
Python实现统计单词出现的个数
May 28 Python
老生常谈Python之装饰器、迭代器和生成器
Jul 26 Python
python+selenium实现163邮箱自动登陆的方法
Dec 31 Python
flask框架视图函数用法示例
Jul 19 Python
python调用摄像头显示图像的实例
Aug 03 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
Oct 09 Python
教你如何编写、保存与运行Python程序的方法
Jul 12 Python
Python 实现文件读写、坐标寻址、查找替换功能
Sep 11 Python
python统计文章中单词出现次数实例
Feb 27 Python
如何基于windows实现python定时爬虫
May 01 Python
python数据库批量插入数据的实现(executemany的使用)
Apr 30 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 第一节 php简介
2012/04/28 PHP
PHP面向对象五大原则之依赖倒置原则(DIP)详解
2018/04/08 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
2020/01/23 PHP
Javascript学习笔记4 Eval函数
2010/01/11 Javascript
让页面上两个div中的滚动条(滑块)同步运动示例
2013/08/07 Javascript
jQuery异步验证用户名是否存在示例代码
2014/05/21 Javascript
JavaScript中的anchor()方法使用详解
2015/06/08 Javascript
js实现向右横向滑出的二级菜单效果
2015/08/27 Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
2015/11/26 Javascript
JavaScript 不支持 indexof 该如何解决
2016/03/30 Javascript
学习使用bootstrap基本控件(table、form、button)
2016/04/12 Javascript
jQuery EasyUI Pagination实现分页的常用方法
2016/05/21 Javascript
vue.js初学入门教程(1)
2016/11/03 Javascript
vuejs指令详解
2017/02/07 Javascript
Angular项目从新建、打包到nginx部署全过程记录
2017/12/09 Javascript
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
微信小程序开发之自定义tabBar的实现
2018/09/06 Javascript
新年快乐! javascript实现超级炫酷的3D烟花特效
2019/01/30 Javascript
js canvas实现俄罗斯方块
2020/10/11 Javascript
vue-calendar-component 封装多日期选择组件的实例代码
2020/12/04 Vue.js
[51:06]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS Liquid
2018/03/30 DOTA
Python最基本的输入输出详解
2015/04/25 Python
在Django的URLconf中进行函数导入的方法
2015/07/18 Python
Python输出带颜色的字符串实例
2017/10/10 Python
python微元法计算函数曲线长度的方法
2018/11/08 Python
Python IDE Pycharm中的快捷键列表用法
2019/08/08 Python
Python压缩模块zipfile实现原理及用法解析
2020/08/14 Python
台湾东南旅游社网站:东南旅游
2019/02/11 全球购物
土木工程实习生自我鉴定
2013/09/19 职场文书
岗位职责风险防控
2014/02/18 职场文书
股份合作协议书
2014/09/10 职场文书
2015年上半年物业工作总结
2015/03/30 职场文书
七年级作文之我的梦想
2019/10/16 职场文书
CSS3 实现NES游戏机的示例代码
2021/04/21 HTML / CSS
springcloud整合seata
2022/05/20 Java/Android