为商业的闭源python模块分发.pyc文件与.py文件

时间:2014-01-28 05:42:36

标签: python

我个人认为最好分发.py文件,因为这些文件将由最终用户自己的python编译,这可能会更加修补。

为商业的闭源python模块分发.pyc文件与.py文件的优缺点是什么?

换句话说,是否有任何令人信服的理由来分发.pyc文件?

编辑:特别是,如果.py / .pyc附带了一个针对特定版本的Python编译的DLL / SO模块。

2 个答案:

答案 0 :(得分:1)

您应该知道有一些开源和专有的反编译器可以将Python字节代码转换为Python源代码。一个这样的例子是Mysterie's uncompyle2

此外, .pyc文件不是跨版本安全的,因此在.pyc上分发.py比使用{{1}}更有麻烦。

答案 1 :(得分:1)

如果您的专有位在二进制DLL或SO中,那么将接口层设为.pyc(而不是.py)没有实际价值。您可以将它们全部放在一起或将其作为未编译的python文件分发。我不知道分发编译的python文件的任何理由。在许多情况下,构建环境会将它们视为陈旧副产品并将其清除,以便您的程序可能会消失。