国外网站建设的步骤,百度竞价排名算法,备案查询化妆品,软件商店最新版下载背景近期项目到了部署的阶段。由于项目后台和算法都是用Python 撸的#xff0c;但是又不希望将源代码直接 release 到 “客户”哪里。于是开始思考。。。首先#xff0c;按照惯性思维#xff0c;能否将编译后的东东放出去呢#xff1f;(类似java或…背景近期项目到了部署的阶段。由于项目后台和算法都是用Python 撸的但是又不希望将源代码直接 release 到 “客户”哪里。于是开始思考。。。首先按照惯性思维能否将编译后的东东放出去呢(类似java或.net 的部署方式)再次是不是能否将“关键部分”的代码保护起来呢解决方案按照第一种思路我们能将Python编译好的东西release出去呢经过一些简单的理论查找和时间。发现了可行的解决办法。于是乎就在今天的博客随笔中将其记录下来吧 :)Python 生成编译后的二进制文件的方法官方提供了两种方式 py_compile compileall1) 使用模块 py_compile 编译单文件1.1 进入到Python交互环境中键入一下命令import py_compilepy_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.htmlhttps://docs.python.org/2.7/library/compileall.html