python3打包成so

2023-05-16

此博客是演示如何将python代码打包成so,防止python源码泄露,保证代码安全。以helloworld.py为例,将python打包成so。

1.在/opt/目录下编写需要被编译的代码helloworld.py

#!/usr/bin/env python
# encoding: utf-8
def hello(name):
    print("Hello %s!" % name)

2.在/opt/目录下编写Cython编译所需要的setup.py文件

 

#!/usr/bin/env python
# encoding: utf-8
from distutils.core import setup
from Cython.Build import cythonize

setup(
  name = 'Hello world app',
  ext_modules = cythonize("/opt/helloworld.py"),
)

如下所示

 

 

3.在/opt/目录下执行Cython的编译命令

python3 setup.py build_ext --inplace

 

多出绿色方框的文件

4. 创建一个调用so文件的pyhton文件,测试编译后的so是否正常工作的代码run.py

#!/usr/bin/env python
# encoding: utf-8
from helloworld import hello
hello('deamon ')

5.删除build文件夹以及helloworld.c

6.运行测试代码run.py

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python3打包成so 的相关文章

  • Python游戏开发 unit05_Pygame物体移动和边界碰撞

    一 移动的本质 物体的位置变化 其实是坐标的变化 循环一次 刷新画布 重新绘制 二 边界的碰撞反弹 左边 x lt 0 右边 x gt 窗口宽度 物体宽度 上边 y lt 0 下边 y gt 窗口高度 物体高度 三 完整代码演示 impor
  • Python3 中 bytes 和 string 之间的互相转换

    因为这是原来不知道 Markdown 时写的文章 富文本编辑器不知道怎么用脚注 所以参考资料显得有些孤立了 见谅 Table of Contents 前言 创建 bytes 型数据 创建字符串 相互转换 string to bytes 按
  • 【Python 1-14】Python手把手教程之——详解函数的高级用法

    作者 弗拉德 来源 弗拉德 公众号 fulade me 传递列表 你经常会发现 向函数传递列表很有用 这种列表包含的可能是名字 数字或更复杂的对象 如字典 将列表传递给函数后 函数就能直接访问其内容 下面使用函数来提高处理列表的效率 假设有
  • Win7平台Python3使用impyla连接Hive遇到的坑

    环境硬件配置及Hadoop Hive版本 此博客置顶文章中有 安装步骤 pip install pure sasl Looking in indexes https pypi tuna tsinghua edu cn simple Coll
  • python_元组_1.07

    一 元组 1 定义 python的元组与列表类似 不同之处在于元组的元素一旦定义就不能修改 添加 删除 可以访问 元组使用小括号 列表使用方括号 元组创建很简单 只需要在括号中添加元素 并使用逗号隔开即可 course chinese ma
  • LeetCode 刷题记录14. 最长公共前缀

    题目描述 编写一个函数来查找字符串数组中的最长公共前缀 如果不存在公共前缀 返回空字符串 说明 示例 1 输入 strs flower flow flight 输出 fl 示例 2 输入 strs dog racecar car 输出 解释
  • Python3、setuptools、Pip3安装详解

    博客核心内容 1 Python3安装 2 setuptools安装 3 Pip3安装 之所以写这篇博客 也是有很多原因了 每次安装都要从网上各种百度 网上的答案也是各种各样 于是决定好好总结一下 下面是我在安装的过程中参考的几篇博客 附上相
  • python matplotlib数据可视化案例-生成柱状图,饼图(扇形图),词云。

    目前python spark scala十分火爆 于是我就利用爬虫将猎聘上的招聘信息进行了一下获取 相比起来 猎聘上的职位数量还是很多的 3中技术类型以 python spark scala 作为关键词 一共爬取了一万多条信息 爬取的主要信
  • selenium webdriver一种解决打开chrome浏览器的过程

    1 下载59或58版本的Chrome浏览器 下载地址 http www pc6 com SoftView SoftView 22726 html 2 下载对应的驱动 驱动下载地址如下 当前我使用的版本是2 32 http npm taoba
  • python3爬虫系列之使用requests爬取LOL英雄图片

    我们最终目的就是要把抓取到的图片保存到本地 所以先写一个保存图片的方法 可以保存任何二进制文件 注意在windows下文件命名包含 可能会发生错误 有的英雄皮肤名称确实包含 所以这里使用正则表达式替换下 方法包含文件路径 文件名称 文件内容
  • Python绘制三角函数图(sin\cos\tan)并标注特定范围

    根据我们指定的条件检索函数中的元素 import matplotlib pyplot as plt import numpy as np a np linspace 0 2 np pi 50 b np sin a plt plot a b
  • 如何在 CentOS/RHEL 7 和 Fedora 上安装 Python 3.9

    Python 是一种非常流行 用途广泛且易于学习的编程语言 广泛应用于从 Web 开发和数据分析到人工智能和机器学习的各个行业和应用程序 Python 3 9 是该语言的最新版本之一 提供了改进的性能和许多新功能 在本教程中 我们将指导您完
  • Linux内存精确统计工具

    1 ps mem介绍 ps mem是一个可以帮助我们精确获取 Linux 中各个程序核心内存使用情况的简单python脚本 它会分别计算一个程序私有内存总量和共享内存总量 并以更准确的方式给出了总的内存使用量 2 安装方式 包管理器 pip
  • ValueError: Found array with dim 4. Estimator expected和ValueError: Expected 2D array, got 1D array i

    python3中对numpy数组进行降维或升维 解决报错如 1 ValueError Found array with dim 4 Estimator expected 2 ValueError Expected 2D array got
  • python3 with.py

    模块 python3 with py 参考 https docs python org zh cn 3 reference compound stmts html with https docs python org zh cn 3 ref
  • python3生成中文词云图

    usr bin python3 coding utf 8 coding utf 8 导入wordcloud模块 from wordcloud import WordCloud 中文分词库 pip install jieba import j
  • python线程与进程概述_1.24

    多进程与多线程 进程 Process 是计算机中的程序关于某数据集合上的一次运行活动 是系统进行资源分配和调度的基本单位 是操作系统结构的基础 线程 Thread 有时被称为轻量级进程 Lightweight Process LWP 是程序
  • Python(4)list和tuple(类似js里的数组)

    6 list list其实就是js里的数组 放置在中括号里 用逗号分隔 就是数组的元素 例如 foo 1 2 3 print foo 1 2 3 len 访问list的长度 foo 1 2 3 print len foo 3 list n
  • python request要求接口参数必须是json数据

    Reqeusts支持以form表单形式发送post请求 只需要将请求的参数构造成一个字典 然后传给requests post 的data参数即可 data参数的格式如下 content type在header中设置 1 data为dict时
  • python3 hashlib库sha256、pbkdf2_hmac、blake2b基本用法

    hashlib sha256 import hashlib x hashlib sha256 x update b asd print x 1 x hexdigest x hashlib sha256 x update asd encode

随机推荐