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 SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
May 06 Python
Python实现把数字转换成中文
Jun 29 Python
从源码解析Python的Flask框架中request对象的用法
Jun 02 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
Apr 23 Python
caffe binaryproto 与 npy相互转换的实例讲解
Jul 09 Python
Django中使用Whoosh进行全文检索的方法
Mar 31 Python
在SQLite-Python中实现返回、查询中文字段的方法
Jul 17 Python
python 错误处理 assert详解
Apr 20 Python
多个版本的python共存时使用pip的正确做法
Oct 26 Python
python与idea的集成的实现
Nov 20 Python
七个Python必备的GUI库
Apr 27 Python
详解MindSpore自定义模型损失函数
Jun 30 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写的serv-u的web申请账号的程序
2006/10/09 PHP
PHP chmod 函数与批量修改文件目录权限
2010/05/10 PHP
php自动识别文件编码并转换为UTF-8的方法
2014/06/12 PHP
制作安全性高的PHP网站的几个实用要点
2014/12/30 PHP
discuz图片顺序混乱解决方案
2015/07/29 PHP
PHP实现搜索相似图片
2015/09/22 PHP
laravel unique验证、确认密码confirmed验证以及密码修改验证的方法
2019/10/16 PHP
Laravel如何实现适合Api的异常处理响应格式
2020/06/14 PHP
JavaScipt基本教程之JavaScript语言的基础
2008/01/16 Javascript
单击按钮显示隐藏子菜单经典案例
2013/01/04 Javascript
AngularJS的一些基本样式初窥
2015/07/27 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
js右下角弹出提示框示例代码
2016/01/12 Javascript
js 点击a标签 获取a的自定义属性方法
2016/11/21 Javascript
Javascript中document.referrer隐藏来源的方法
2017/01/16 Javascript
第一次记录Bootstrap table学习笔记(1)
2017/05/18 Javascript
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
2018/02/11 Javascript
layer弹出层父子页面事件相互调用方法
2018/08/17 Javascript
从0到1搭建Element的后台框架的方法步骤
2019/04/10 Javascript
微信小程序获取当前位置和城市名
2019/11/13 Javascript
[59:26]DOTA2上海特级锦标赛D组资格赛#1 EG VS VP第二局
2016/02/28 DOTA
python自动化脚本安装指定版本python环境详解
2017/09/14 Python
20个常用Python运维库和模块
2018/02/12 Python
Python之使用adb shell命令启动应用的方法详解
2019/01/07 Python
vscode调试django项目的方法
2020/08/06 Python
python中K-means算法基础知识点
2021/01/25 Python
应届毕业生自我评价分享
2013/12/15 职场文书
工商管理毕业生推荐信
2013/12/24 职场文书
调解员先进事迹材料
2014/02/07 职场文书
企业爱岗敬业演讲稿
2014/09/04 职场文书
挂职学习心得体会
2014/09/09 职场文书
2014年学校后勤工作总结
2014/12/06 职场文书
2014年学校团委工作总结
2014/12/20 职场文书
教师思想工作总结2015
2015/05/13 职场文书
初中政治教学反思
2016/02/23 职场文书
Vue3.0中Ref与Reactive的区别示例详析
2021/07/07 Vue.js