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 socket函数中,send与sendall的区别与使用方法
May 09 Python
基于python爬虫数据处理(详解)
Jun 10 Python
Python爬虫DOTA排行榜爬取实例(分享)
Jun 13 Python
深入浅析Python中的yield关键字
Jan 24 Python
Python机器学习库scikit-learn安装与基本使用教程
Jun 25 Python
Opencv+Python 色彩通道拆分及合并的示例
Dec 08 Python
Python列表删除元素del、pop()和remove()的区别小结
Sep 11 Python
Python模块_PyLibTiff读取tif文件的实例
Jan 13 Python
python统计函数库scipy.stats的用法解析
Feb 25 Python
Python3爬虫中Splash的知识总结
Jul 10 Python
Python selenium环境搭建实现过程解析
Sep 08 Python
Django中template for如何使用方法
Jan 31 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
JavaScript Event学习第二章 Event浏览器兼容性
2010/02/07 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
javascript生成json数据简单示例分享
2014/02/14 Javascript
用window.onerror捕获并上报Js错误的方法
2016/01/27 Javascript
Node.js插件安装图文教程
2016/05/06 Javascript
jQuery实现点击按钮文字变成input框点击保存变成文字
2016/05/09 Javascript
原生js的数组除重复简单实例
2016/05/24 Javascript
总结Javascript中数组各种去重的方法
2016/10/04 Javascript
关于Vue.js一些问题和思考学习笔记(2)
2016/12/02 Javascript
jQuery插件DataTable使用方法详解(.Net平台)
2016/12/22 Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
2016/12/24 Javascript
vue.js的安装方法
2017/05/12 Javascript
详解React中的组件通信问题
2017/07/31 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
javascript与PHP动态往类中添加方法对比
2018/03/21 Javascript
axios全局注册,设置token,以及全局设置url请求网段的方法
2018/09/25 Javascript
Vue 实现手动刷新组件的方法
2019/02/19 Javascript
后台使用freeMarker和前端使用vue的方法及遇到的问题
2019/06/13 Javascript
vue输入框使用模糊搜索功能的实现代码
2020/05/26 Javascript
精确查找PHP WEBSHELL木马的方法(1)
2011/04/12 Python
flask入门之文件上传与邮件发送示例
2018/07/18 Python
Ubuntu下Python2与Python3的共存问题
2018/10/31 Python
python3实现表白神器
2019/04/09 Python
Python多线程正确用法实例解析
2020/05/30 Python
pandas apply使用多列计算生成新的列实现示例
2021/02/24 Python
CSS3 Pie工具推荐--让IE6-8支持一些优秀的CSS3特性
2014/09/02 HTML / CSS
html5的新增的标签和废除的标签简要概述
2013/02/20 HTML / CSS
拉夫劳伦爱尔兰官方网站:Ralph Lauren爱尔兰
2020/04/10 全球购物
外语专业毕业生自我评价分享
2013/10/05 职场文书
建材投资建议书
2014/05/16 职场文书
送达通知书
2015/04/25 职场文书
六一晚会主持词开场白
2015/05/28 职场文书
python将图片转为矢量图的方法步骤
2021/03/30 Python
使用python向MongoDB插入时间字段的操作
2021/05/18 Python
Golang标准库syscall详解(什么是系统调用)
2021/05/25 Golang
在windows server 2012 r2中安装mysql的详细步骤
2022/07/23 Servers