bjh*_*ans 44 python compilation
我是Python编程语言的新手.我想知道是否可以编译用Python编写的程序.
是否有可能将Python脚本转换为某些较低级别的编程语言,然后可以编译为二进制代码?
正在考虑使用Python编写代码的开发人员可能希望保持开放的可能性,以便以后能够进行二进制分发.
And*_*are 41
我认为编译Python代码是一个很好的起点:
Python源代码由CPython解释器自动编译为Python字节代码.编译代码通常存储在PYC(或PYO)文件中,并在更新源或其他必要时重新生成.
要将程序分发给已安装Python的人员,您可以发送PY文件或PYC文件.在最新版本中,您还可以创建包含PY或PYC文件的ZIP存档,并使用一个小的"引导脚本"将该ZIP存档添加到路径中.
"编译" Python程序为可执行文件,使用捆绑工具,比如戈登·麦克米兰的安装程序(可替代下载)(跨平台),托马斯·海勒的py2exe(Windows)中,安东尼Tuininga的cx_Freeze(跨平台),或鲍勃·伊波利托的py2app(Mac).这些工具将您的模块和数据文件放在某种存档文件中,并创建一个自动设置的可执行文件,以便从该存档导入模块.某些工具可以将存档嵌入可执行文件本身.
car*_*arl 19
如果你真的想要,你总是可以用Cython编译.这将生成C代码,然后您可以使用任何C编译器(如GCC)进行编译.
Khe*_*ben 15
Python作为一种动态语言,不能静态地"编译"成机器代码,就像C或COBOL一样.你总是需要一个解释器来执行代码,根据语言的定义,代码是动态操作.
你可以在字节码中"翻译"源代码,这只是解释器加速代码加载的中间过程,它转换文本文件,带有注释,空格,像'if','def'这样的单词,二进制代码中的'in'等,但后面的操作完全相同,在Python中,而不是在机器代码或任何其他语言中.这是它存储在.pyc文件中的内容,它也可以在架构之间移植.
可能你需要它不是"编译"代码(这是不可能的),而是"嵌入"一个解释器(在正确的架构中)与代码,以允许运行代码而无需外部安装解释器.为此,您可以使用所有这些工具,如py2exe或cx_Freeze.
也许我对此有点迂腐:-P
Eug*_*rez 10
你不必编译它.你使用它(导入)的第一个它是由CPython解释器编译的.但如果你真的想编译,有几个选项.
编译到exe
或者2只编译一个特定的*.py文件,你可以使用
import py_compile
py_compile.compile("yourpythoncode.py")
Run Code Online (Sandbox Code Playgroud)