Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为商业、封闭源代码python模块分发.pyc文件与.py文件_Python - Fatal编程技术网

为商业、封闭源代码python模块分发.pyc文件与.py文件

为商业、封闭源代码python模块分发.pyc文件与.py文件,python,Python,就我个人而言,我认为最好分发.py文件,因为这些文件将由最终用户自己的python编译,而python可能需要更多的补丁 对于商业的、封闭源代码的python模块,分发.pyc文件与分发.py文件的优缺点是什么 换句话说,是否有任何令人信服的理由来分发.pyc文件 编辑:特别是,如果.py/.pyc附带一个针对特定版本的Python编译的DLL/SO模块。您应该知道,有开源和专有的反编译器可以将Python字节码转换为Python源代码。一个这样的例子是 此外,.pyc文件不是跨版本安全的,因此

就我个人而言,我认为最好分发.py文件,因为这些文件将由最终用户自己的python编译,而python可能需要更多的补丁

对于商业的、封闭源代码的python模块,分发.pyc文件与分发.py文件的优缺点是什么

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


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

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


此外,
.pyc
文件不是跨版本安全的
,因此在
.py
上分发
.pyc
比在
.py

上更麻烦,如果您的专有位在二进制DLL中,那么将接口层设置为
.pyc
(与
.py
相反). 您可以将其全部删除,也可以将其作为未编译的python文件分发。我不知道分发编译过的python文件的任何原因。在许多情况下,构建环境将它们视为过时的副产品,并将其清除,以便您的程序可能消失

是的,我知道。我想我是在问,是否有人有令人信服的理由分发.pyc文件?我想不出有什么@蓝狗:请看我答案的最后一行。它可能会回答你的问题。这是一个很好的观点。我应该提到的是,这个模块附带了一个DLL/SO,当然,它与一个Python版本绑定在一起。。。如果这是相关的。