python打包编译_python编译及打包

0、背景Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,使用其开发产品快速高效。python的解释特性是将py编译为独有的二进制编码pyc文件,然后对pyc中的指令进行解释执行,但是pyc的反编译却非常简单,可直接反编译为源码,当需要将产品发布到外部环境的时候,源码的保护尤为重要。基于以上原因,本文将介绍如何将python源码编译pyc,编译成动态链接库.so文件,以及自...
摘要由CSDN通过智能技术生成

0、背景

Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,使用其开发产品快速高效。

python的解释特性是将py编译为独有的二进制编码pyc文件,然后对pyc中的指令进行解释执行,但是pyc的反编译却非常简单,可直接反编译为源码,当需要将产品发布到外部环境的时候,源码的保护尤为重要。

基于以上原因,本文将介绍如何将python源码编译pyc,编译成动态链接库.so文件,以及自定义python模块如何打包发布,以便用pip安装自己的python模块。

1、python源码编译至pyc文件

使用python的py_compile模块实现python源码编译pyc。

这里举一个简单的例子:在demo文件夹下有一个demo.py,需要将demo.py编译.pyc。

demo.py内容如下:

def print_hello():

print('hello')

在demo文件夹下新建setup.py,内容如下:

import py_compile

py_compile.compile(r'demo.py',r'demo.pyc')

在shell执行:

cd demo

python setup.py

在demo文件夹下,就会生成demo.pyc文件。

2、python源码编译.so文件

Python源码编译至.so文件的思路是先将py转换为c代码,然后编译c为so文件。

所需编译环境:

python安装:cython

pip install cython

linux 安装:python-dev

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值