Answers:
另请注意,您无需编译.py
文件即可运行它。Python是一种解释性语言,您可以使用以下命令直接运行脚本:
python hello.py
或通过将脚本添加#!/usr/bin/env python
到脚本顶部,使该文件可执行,chmod +x hello.py
然后运行,使脚本可执行:
./hello.py
Python 出于性能原因在内部将.py
脚本编译为字节码.pyc
文件是一个实现细节,除非您有充分的理由这样做,否则让python自己决定何时以及是否进行编译。
chmod +x
),解释器将如何读取脚本?
#!/path/to/interpreter
,内核实际上执行在那里声明的内容,并将脚本路径作为参数传递。在我的示例中,当您运行时./hello.py
,实际执行的是/usr/bin/env python ./hello.py
。参见en.wikipedia.org/wiki/Shebang_(Unix)–
chmod +x
授予会执行,并且不会触及现有权限,因此,除了现在可以执行之外,它大概是可读的。
查看此链接在Python中编译
在页面中间,它讨论了可以导入的py_compile模块。语法如下:
import py_compile
py_compile.compile("file.py")
这种编译方法不会像运行python file.py一样执行模块。
还有一种编译整个目录树的方法,但是我将让您检查链接以查看其执行方式。
希望这可以帮助。
您也可以尝试compileall
:
python -m compileall ./
您可以使用多种方法将Python脚本编译为二进制代码,但是我发现使用Nuitka效率更高。
Nuitka是从Python到C ++的编译器,几乎支持所有版本的python。
命令语法很简单
nuitka hello.py
-O
标记,例如python -O -m py_compile …
,它将“启用基本优化”。它主要去除assert
语句和if __debug__
代码,因此对于大多数代码而言,它无效。有关详细信息man python
,请参见和“ Python优化……能做什么?”。