python打包成 .so的实现步骤
为什么要将python打包成so文件
Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,使用其开发产品快速高效。python的解释特性是将py编译为独有的二进制编码pyc文件,然后对pyc中的指令进行解释执行,但是pyc的反编译却非常简单,可直接反编译为源码,当需要将产品发布到外部环境的时候,源码的保护尤为重要.因此需要将python文件打成so文件的目的就是为了保护源码。
1)生成 .so
库文件,使用脚本 py2sp.py
,编译目标 python
文件成 .so
py2so
import Cython.build import distutils.core def py2so(file): cpy Cython.Build.cythonize(file) # 返回 distuls.extension.Extension 对象列表 distutils.core.setup( name = 'python_to_so', # 包名称 version = "1.0", # 包版本号 ext_modules = cpy, # 扩展模块 author = 'ohuo', # 作者 author_email = 'aha', # 作者邮箱 ) if __name__ == '__main__': file = 'hello.py' py2so(file)
2)执行编译脚本
python3 py2so.py build_ext --inplace
3)使用 .so
中打包的方法,import_my_so.py
import hello hello.main()
输出:
aha, hello
·hello.py·
def main(): print("aha, hello")
到此这篇关于python打包成 .so的实现步骤的文章就介绍到这了,更多相关python打包成 .so内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
PyTorch中torch.manual_seed()的用法实例详解
在Pytorch中可以通过相关随机数来生成张量,并且可以指定生成随机数的分布函数等,下面这篇文章主要给大家介绍了关于PyTorch中torch.manual_seed()用法的相关资料,需要的朋友可以参考下2022-06-06linux 下python多线程递归复制文件夹及文件夹中的文件
这篇文章主要介绍了linux 下python多线程递归复制文件夹及文件夹中的文件,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2020-01-01
最新评论