Linux之python【让源码更安全之将py编译成so】

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

# 首先确保你是用的是Linux系统,并且安装了Python环境
# 这里小编使用的是Centos7,Python版本是3.7
# 同时确保你安装了python-devel,gcc
# 如果没有安装,请执行如下命令

yum install python-devel

yum install gcc

# 以下我们开始编辑代码测试

第一步:这里我写一个简单的测试脚本test.py

#-* -coding: UTF-8 -* -
__author__ = 'dianxiaoer'

class Test:
    def say(self):
        print("hello! This is compile test")

第二步:同时建立setup.py文件

#-* -coding: UTF-8 -* -
__author__ = 'dianxiaoer'

from distutils.core import setup
from Cython.Build import cythonize

setup(ext_modules = cythonize(["test.py"]))

第三步:切换至测试的文件夹

cd test_compile

可以看到以下两个文件

第四步:执行如下命令

python setup.py build_ext

可以看到生成以下文件夹,其中蓝色框里面就是我们需要的编译后的so文件

第五步:验证我们的Python程序可以编译之后可以正常使用

可以看出,我们像其他Python模块一样,正常导入使用,至此初步编译完成了~~~

下期介绍集成编译

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值