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检测网页是否有日常链接
Jun 03 Python
深入浅析python定时杀进程
Jun 06 Python
Python实战小程序利用matplotlib模块画图代码分享
Dec 09 Python
Python pandas常用函数详解
Feb 07 Python
使用k8s部署Django项目的方法步骤
Jan 14 Python
Python递归函数实例讲解
Feb 27 Python
face++与python实现人脸识别签到(考勤)功能
Aug 28 Python
Python实现快速排序的方法详解
Oct 25 Python
Python动态导入模块和反射机制详解
Feb 18 Python
django的模型类管理器——数据库操作的封装详解
Apr 01 Python
Python实现学生管理系统(面向对象版)
Jun 24 Python
python实现双链表
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
PHP利用MySQL保存session的实现思路及示例代码
2014/09/09 PHP
php实现excel中rank函数功能的方法
2015/01/20 PHP
THINKPHP支持YAML配置文件的设置方法
2015/03/17 PHP
laravel使用Faker数据填充的实现方法
2019/04/12 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
2020/04/06 PHP
javascript function调用时的参数检测常用办法
2010/02/26 Javascript
JS中数组Array的用法示例介绍
2014/02/20 Javascript
JavaScript及jquey实现多个数组的合并操作
2014/09/06 Javascript
JQuery中serialize() 序列化
2015/03/13 Javascript
JavaScript实现向右伸出的多级网页菜单效果
2015/08/25 Javascript
jQuery实现淡入淡出二级下拉导航菜单的方法
2015/08/28 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
2017/03/15 Javascript
Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)
2017/09/14 Javascript
vue elementUI tree树形控件获取父节点ID的实例
2018/09/12 Javascript
JavaScript数组及常见操作方法小结
2019/11/13 Javascript
JS实现数据动态渲染的竖向步骤条
2020/06/24 Javascript
jQuery实现鼠标拖拽登录框移动效果
2020/09/13 jQuery
vue实现div可拖动位置也可改变盒子大小的原理
2020/09/16 Javascript
Python、Javascript中的闭包比较
2015/02/04 Python
Python基础学习之常见的内建函数整理
2017/09/06 Python
如何在Cloud Studio上执行Python代码?
2019/08/09 Python
python解析多层json操作示例
2019/12/30 Python
python实现将range()函数生成的数字存储在一个列表中
2020/04/02 Python
浅析Python 序列化与反序列化
2020/08/05 Python
有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题
2013/07/19 HTML / CSS
世界上最伟大的马产品:Equiderma
2020/01/07 全球购物
Python的两道面试题
2013/06/29 面试题
优秀管理者获奖感言
2014/02/17 职场文书
教师自我鉴定范文
2014/03/20 职场文书
《悯农》教学反思
2014/04/28 职场文书
我的理想演讲稿
2014/04/30 职场文书
全国文明单位申报材料
2014/05/31 职场文书
水电工程师岗位职责
2015/02/13 职场文书
采购内勤岗位职责
2015/04/13 职场文书
表彰大会新闻稿
2015/07/17 职场文书
离婚协议书范本(2016最新版)
2016/03/18 职场文书