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获得图片base64编码示例
Jan 16 Python
教你如何在Django 1.6中正确使用 Signal
Jun 22 Python
更改Python命令行交互提示符的方法
Jan 14 Python
Python中操作MySQL入门实例
Feb 08 Python
使用IPython下的Net-SNMP来管理类UNIX系统的教程
Apr 15 Python
django实现用户登陆功能详解
Dec 11 Python
pandas 获取季度,月度,年度首尾日期的方法
Apr 11 Python
Django添加KindEditor富文本编辑器的使用
Oct 24 Python
Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式
Mar 11 Python
Selenium启动Chrome时配置选项详解
Mar 18 Python
django执行原始查询sql,并返回Dict字典例子
Apr 01 Python
keras中的卷积层&池化层的用法
May 22 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
多重?l件?合查?(一)
2006/10/09 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
2015/09/20 PHP
培养自己的php编码规范
2015/09/28 PHP
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
asm.js使用示例代码
2013/11/28 Javascript
js快速排序的实现代码
2013/12/08 Javascript
深入理解Java线程编程中的阻塞队列容器
2015/12/07 Javascript
jQuery实现的导航下拉菜单效果示例
2016/09/05 Javascript
JS实现的手机端精简幻灯片效果
2016/09/05 Javascript
BootStrapTable服务器分页实例解析
2016/12/20 Javascript
nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比较
2017/09/18 NodeJs
Vue SSR 即时编译技术的实现
2020/05/06 Javascript
JS遍历树层级关系实现原理解析
2020/08/31 Javascript
[02:28]DOTA2亚洲邀请赛附加赛 RECAP赛事回顾
2015/01/29 DOTA
python中的五种异常处理机制介绍
2014/09/02 Python
python中的代码编码格式转换问题
2015/06/10 Python
详解Python如何生成词云的方法
2018/06/01 Python
详解python3中zipfile模块用法
2018/06/18 Python
Python画柱状统计图操作示例【基于matplotlib库】
2018/07/04 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
2019/08/06 Python
Python 日期的转换及计算的具体使用详解
2020/01/16 Python
HTMl5的存储方式sessionStorage和localStorage详解
2014/03/18 HTML / CSS
法国面料和小百货在线商店:Mondial Tissus
2019/03/23 全球购物
西安夏日科技有限公司Java笔试题
2013/01/11 面试题
工程造价专业大学生职业生涯规划书
2014/01/18 职场文书
家居装修公司创业计划书范文
2014/03/20 职场文书
卫生标语大全
2014/06/21 职场文书
公共场所禁烟倡议书
2014/08/30 职场文书
村主任个人对照检查材料
2014/10/01 职场文书
小升初自荐信范文
2015/03/05 职场文书
2015年个人实习工作总结
2015/05/28 职场文书
《水浒传》读后感3篇(范文)
2019/09/19 职场文书
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis
一小时迅速入门Mybatis之bind与多数据源支持 Java API
2021/09/15 Javascript
python基础之类方法和静态方法
2021/10/24 Python
Mysql中@和@@符号的详细使用指南
2022/06/05 MySQL