python打包成so文件过程解析

作者:AnswerThe 时间:2022-03-19 18:08:46 

这篇文章主要介绍了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)

来源:https://www.cnblogs.com/answerThe/p/11600590.html

标签:python,打包,so,文件
0
投稿

猜你喜欢

  • 可编辑下拉框的2种实现方式

    2024-04-22 13:08:08
  • 两种oracle创建字段自增长的实现方式

    2024-01-15 09:47:44
  • python中最小二乘法详细讲解

    2022-02-12 22:33:07
  • Python pass 语句使用示例

    2022-05-01 16:49:55
  • Go 结构体、数组、字典和 json 字符串的相互转换方法

    2024-05-05 09:26:42
  • jQuery 表单验证插件formValidation实现个性化错误提示

    2023-07-02 05:31:26
  • 如何设置mysql允许外部连接访问

    2024-01-15 05:22:14
  • 由浅入深学习TensorFlow MNIST 数据集

    2021-06-04 23:57:52
  • PHP 使用redis简单示例分享

    2024-05-05 09:18:16
  • Golang实现字符串倒序的几种解决方案

    2024-01-30 20:01:37
  • opencv之颜色过滤只留下图片中的红色区域操作

    2021-04-03 19:15:28
  • Python中三种花式打印的示例详解

    2022-06-27 06:51:11
  • 轻松掌握MySQL数据库锁机制的相关原理

    2008-12-17 15:23:00
  • 基于进程内通讯的python聊天室实现方法

    2021-01-24 03:50:53
  • Python3常见函数range()用法详解

    2021-04-20 10:34:19
  • Phantomjs抓取渲染JS后的网页(Python代码)

    2022-03-22 05:05:51
  • python委派生成器的具体方法

    2022-06-14 01:23:39
  • Python3.6使用tesseract-ocr的正确方法

    2023-10-24 20:46:28
  • jupyter notebook指定启动目录的方法

    2022-05-19 18:53:01
  • 基于golang的简单分布式延时队列服务的实现

    2024-05-08 10:44:03
  • asp之家 网络编程 m.aspxhome.com