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实现获取磁盘剩余空间的2种方法
Jun 07 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
Jun 15 Python
selenium+python实现自动登录脚本
Apr 22 Python
python实现对指定输入的字符串逆序输出的6种方法
Apr 26 Python
Python3实现汉语转换为汉语拼音
Jul 08 Python
Python实现i人事自动打卡的示例代码
Jan 09 Python
python解释器安装教程的方法步骤
Jul 02 Python
Python2及Python3如何实现兼容切换
Sep 01 Python
如何用Python 加密文件
Sep 10 Python
使用AJAX和Django获取数据的方法实例
Oct 25 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
Nov 26 Python
python不同版本的_new_不同点总结
Dec 09 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目录导航文件代码
2006/10/09 PHP
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
2010/04/02 PHP
windows下zendframework项目环境搭建(通过命令行配置)
2012/12/06 PHP
PHP中set error handler函数用法小结
2015/11/11 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
Yii 2.0中场景的使用教程
2017/06/02 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
JavaScript 异步调用框架 (Part 6 - 实例 & 模式)
2009/08/04 Javascript
Jquery 动态添加按钮实现代码
2010/05/06 Javascript
jQuery实现自动滚动到页面顶端的方法
2015/05/22 Javascript
jQuery实现仿新浪微博浮动的消息提示框(可智能定位)
2015/10/10 Javascript
jquery单击文字或图片内容放大并居中显示
2017/06/23 jQuery
收藏AngularJS中最重要的核心功能
2017/07/09 Javascript
JS数组操作之增删改查的简单实现
2017/08/21 Javascript
Node 升级到最新稳定版的方法分享
2018/05/17 Javascript
vue 录制视频并压缩视频文件的方法
2018/07/27 Javascript
layui获取选中行数据的实例讲解
2018/08/19 Javascript
vue-cli3使用 DllPlugin 实现预编译提升构建速度
2019/04/24 Javascript
JavaScript对象属性操作实例解析
2020/02/04 Javascript
[03:11]DOTA2上海特锦赛小组赛第一日recap精彩回顾
2016/02/28 DOTA
[01:11:35]Liquid vs LGD 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python中表达式x += y和x = x+y 的区别详解
2017/06/20 Python
python把数组中的数字每行打印3个并保存在文档中的方法
2018/07/17 Python
Python 做曲线拟合和求积分的方法
2018/12/29 Python
Python 调用PIL库失败的解决方法
2019/01/08 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
2019/05/31 Python
用python做游戏的细节详解
2019/06/25 Python
python飞机大战pygame游戏背景设计详解
2019/12/17 Python
对python中 math模块下 atan 和 atan2的区别详解
2020/01/17 Python
通过Python扫描代码关键字并进行预警的实现方法
2020/05/24 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
2021/02/07 Python
整理的15个非常有用的 HTML5 开发教程和速查手册
2011/10/18 HTML / CSS
美国在线纱线商店:Darn Good Yarn
2019/03/20 全球购物
职称自我鉴定
2013/10/15 职场文书
建筑总经理岗位职责
2014/02/02 职场文书
MySQL中JOIN连接的基本用法实例
2022/06/05 MySQL