就像@Greg Hewgill所说的那样,有很多理由说明为什么这并不总是可能的。但是,某些类型的代码(例如非常算法的代码)可以变成“真实的”机器代码。
有几种选择:使用Psyco,它可以动态发出机器代码。不过,您应该仔细选择要转换的方法/函数。
使用Cython,这是一种类似 Python的语言,已编译为Python C扩展
使用PyPy,它具有从RPython(Python 的受限子集,不支持Python的某些最“动态”功能)到C或LLVM的转换器。PyPy仍处于高度实验阶段
并非所有扩展名都存在
之后,您可以使用现有软件包之一(freeze,Py2exe,PyInstaller)将所有内容放入一个二进制文件中。
总而言之:您的问题没有一般性的答案。如果您具有对性能至关重要的Python代码,请尝试使用尽可能多的内置功能(或询问“如何使我的Python代码更快”问题)。如果那没有帮助,请尝试识别代码并将其移植到C(或Cython)并使用扩展名。