Nat*_*man 10 c python bytecode compilation
是否可以仅分发Python脚本的字节码版本(.pyc文件)而不是原始的.py文件?我的应用程序嵌入了Python解释器并调用PyImport_Import来加载脚本.我怎么能告诉它寻找.pyc文件并导入它?
Mic*_*kan 13
使用冻结工具,它包含在Python源代码树中作为Tools/freeze.它将Python字节代码转换为C数组; 使用C编译器,您可以将所有模块嵌入到新程序中,然后将其与标准Python模块链接.
请注意,freeze需要C编译器.
其他工具:
1- PyInstaller
2- Py2Exe
3- 挤压
4- cx_freeze
由于您使用C++编写主程序,因此可以执行任何保护Python文件的操作.例如,您可以加密它们以进行分发,然后及时解密它们以将它们导入Python解释器.
由于您使用的是PyImport_Import,您可以编写自己的__import__钩子来导入模块,而不是从文件中导入模块,而是从内存缓冲区导入模块,因此转换为.pyc文件可以在内存中进行,而在磁盘上根本没有可理解的Python代码.
| 归档时间: |
|
| 查看次数: |
14350 次 |
| 最近记录: |