【转】python打包成so

python:让源码更安全之将py编译成so

应用场景

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

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

准备工作

环境是可为linux/centos,我Windows10本地是Bash on Ubuntu on Windows,用起来很方便,命令行打bash即进入命令行

思路是先将py转换为c代码,然后编译c为so文件

所以要安装以下内容

python 安装:cython

pip install cython

linux 安装:python-devel,gcc

yum install python-devel

yum install gcc

初步编译

在testing文件夹下有your_file.py文件待编译,内容如下

-* -coding: UTF-8 -* -

author = 'Arvin'

class test:
def say(self):
print 'hello'
  新建setup.py,内容如下

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

setup(ext_modules = cythonize(["your_file.py"]))
  在bash中执行

cd testing
python setup.py build_ext

cd build/lib.linux-x86_64-2.7/
python
from your_file import test
test().say()

转自:http://www.cnblogs.com/ke10/p/py2so.html

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,247评论 0 10
  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 9,683评论 4 16
  • Python 四五事 介绍 Python 相关工具,工作流程和测试框架。 发布于 2014.1.19最后更新 20...
    hzyido阅读 65,080评论 0 4
  • # Awesome Python [![Awesome](https://cdn.rawgit.com/sindr...
    emily_007阅读 6,614评论 0 3
  • 创业的大潮中,举目四望人山人海,对于大多数的人心中起码都有过创业的想法,但是没有一个行业是留给我们的蓝海,在激烈的...
    搬砖的李校长阅读 5,054评论 0 0

友情链接更多精彩内容