zoukankan      html  css  js  c++  java
  • python 编译源文件

    背景

    近期项目到了部署的阶段。由于项目后台和算法都是用Python "撸的",但是又不希望将源代码直接 "release" 到 “客户”哪里。于是开始思考。。。

    首先,按照惯性思维,能否将编译后的东东放出去呢?(类似java或.net 的部署方式)

    再次,是不是能否将“关键部分”的代码保护起来呢?

    解决方案

    按照第一种思路,我们能将Python编译好的东西release出去呢?经过一些简单的理论查找和时间。发现了可行的解决办法。于是乎,就在今天的博客随笔中将其记录下来吧 :) 

    Python 生成编译后的二进制文件的方法,官方提供了两种方式:  py_compile, compileall 

    1) 使用模块 py_compile 编译单文件

    1.1 进入到Python交互环境中,键入一下命令

    import py_compile
    py_compile.compile('/home/ct/Dowork.py')

    或者直接执行脚本

    python -m py_compile /home/ct/Dowork.py

    运行结果如下:

     2) 使用模块 compileall 编译多个文件或目录, 方法和上面的一样,这里直接贴出结果:

    可以看到,我们一共将4个Python“源文件”生成为编译后的“二进制”文件。 到这里我们编译工作已经完成!!

     

    测试程序运行

    程序的依赖关系为: Dowork.py 引用statics.py 中定义的方法, 经过测试,发现在删除statics.py 源文件但是保留 statics.pyc 的情况下,运行Dowork.py中的测试程序程序依然正常!!

    因此,可以宣告: 这次将源码编译后,程序依然可以正常工作。 Well done!!

    参考:

    https://docs.python.org/2/library/py_compile.html

    https://docs.python.org/2.7/library/compileall.html

  • 相关阅读:
    visual studio 2019 企业版下载
    对IT战略的认识
    投融资,你了解吗?
    一品投资农副产品电商平台工作内容
    高明的决策和投资远比低效的勤奋更重要
    随笔
    思维方式的不同
    公司经营问题探讨
    盘点海口最好吃的西餐厅top10
    羽毛球运动技巧
  • 原文地址:https://www.cnblogs.com/atuotuo/p/9096891.html
Copyright © 2011-2022 走看看