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实现冒泡,插入,选择排序简单实例
Aug 18 Python
在Python中使用zlib模块进行数据压缩的教程
Jun 26 Python
Django中URL视图函数的一些高级概念介绍
Jul 20 Python
Python模拟三级菜单效果
Sep 11 Python
Pandas读写CSV文件的方法示例
Mar 27 Python
Python3网络爬虫中的requests高级用法详解
Jun 18 Python
Python二维数组实现求出3*3矩阵对角线元素的和示例
Nov 29 Python
安装PyInstaller失败问题解决
Dec 14 Python
pytorch如何冻结某层参数的实现
Jan 10 Python
检测tensorflow是否使用gpu进行计算的方式
Feb 03 Python
Django框架配置mysql数据库实现过程
Apr 22 Python
python中if嵌套命令实例讲解
Feb 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
ThinkPHP之getField详解
2014/06/20 PHP
Laravel框架模型的创建及模型对数据操作示例
2019/05/07 PHP
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
2010/10/14 Javascript
js中生成map对象的方法
2014/01/09 Javascript
jquery实现网页查找功能示例分享
2014/02/12 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
js控制多图左右滚动切换效果代码分享
2015/08/26 Javascript
JavaScript程序设计之JS调试
2015/12/09 Javascript
微信小程序 wx.request(OBJECT)发起请求详解
2016/10/13 Javascript
Bootstrap图片轮播组件Carousel使用方法详解
2016/10/20 Javascript
Nodejs进阶:核心模块net入门学习与实例讲解
2016/11/21 NodeJs
浅谈js中几种实用的跨域方法原理详解
2016/12/02 Javascript
学习使用jQuery表单验证插件和日历插件
2017/02/13 Javascript
jQuery插件HighCharts绘制2D圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
手机端转换rem适应
2017/04/01 Javascript
vue获取dom元素注意事项
2017/12/28 Javascript
js微信分享接口调用详解
2019/07/23 Javascript
javascript实现函数柯里化与反柯里化过程解析
2019/10/08 Javascript
Node.js API详解之 os模块用法实例分析
2020/05/06 Javascript
Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
2013/12/04 Python
python+selenium实现京东自动登录及秒杀功能
2017/11/18 Python
python将一组数分成每3个一组的实例
2018/11/14 Python
Python----数据预处理代码实例
2019/03/20 Python
Python中调用其他程序的方式详解
2019/08/06 Python
浅谈keras中的keras.utils.to_categorical用法
2020/07/02 Python
基于python实现百度语音识别和图灵对话
2020/11/02 Python
Python爬虫过程解析之多线程获取小米应用商店数据
2020/11/14 Python
详解H5本地储存Web Storage
2017/07/03 HTML / CSS
C#中有没有静态构造函数,如果有是做什么用的?
2016/06/04 面试题
单位实习证明怎么写
2014/01/17 职场文书
优秀团员事迹材料2000字
2014/08/20 职场文书
股东大会通知
2015/04/24 职场文书
2019个人工作总结
2019/06/21 职场文书
PHP使用非对称加密算法RSA
2021/04/21 PHP
pytorch 一行代码查看网络参数总量的实现
2021/05/12 Python
【海涛教你打DOTA】虚空假面第一视角骨弓3房29杀
2022/04/01 DOTA