编译Python

use*_*004 47 python compiler-construction

如何编译和运行python文件(*.py扩展名)?

Pau*_*lan 29

python yourfile.py

你必须先安装python.它会自动将您的文件编译为.pyc二进制文件,然后为您运行它.它会在您的文件更改时自动重新编译.

http://www.python.org/download/


Geo*_*lly 15

Python在执行它们之前将其文件编译为字节码.这意味着您必须在目标计算机上安装Python解释器.

如果您不想在目标机器上安装Python,请使用py2exe,py2app或类似的东西.

  • @Helen Neely,有时很快就能得到一个具体的答案,而不是通过费力的教程挖掘.目前,有3人净发现这个问题很有用; 你能从中了解到点东西. (6认同)

Evg*_*eny 12

如果您只想编译源代码而不运行它们,则可以执行此操作

compileall.py <directory>
Run Code Online (Sandbox Code Playgroud)

这个命令将递归地编译该目录中的python代码

compileall脚本通常位于目录中

/usr/local/lib/python2.6
Run Code Online (Sandbox Code Playgroud)

<prefix>/lib/python2.6(或类似,取决于前缀设置python配置)

正如Lulu建议的那样,您应确保生成的.pyc和.pyo文件可由您关注的用户执行.

compileall也可以用作模块

import compileall
compileall.compile_dir(path)
Run Code Online (Sandbox Code Playgroud)


Lee*_*e B 8

Python是一种解释型语言,因此您无需编译它; 只是为了运行它.碰巧,标准版本的python会将其编译为"字节码",就像Java等一样,并将保存(在.pyc文件中)并在下次运行它,如果你还没有更新,节省时间从那以后的文件.如果您已更新文件,则会自动重新编译.

您还可以使用-O标志运行python,这将生成.pyo文件而不是.pyc.我不确定它有多大区别.如果速度很重要,请使用psyco.

是的,在Unix(包括Linux,BSD和Mac OS X,或Windows上的unix shell)中,您可以使用文件顶部的shebang行使文件自动使用python运行.在Windows上,相当于将.py文件与python.exe相关联,然后确保您的PATHEXT环境变量包含".PY"扩展名.

但是,对于Windows,你更可能想在python中编写一个gui程序(可能使用PyQT4和ERIC4),它有一个.pyw文件作为它的主脚本,并且有.pyw与pythonw(在windows上附带python)相关联.这将允许您像在其他GUI程序上一样在Windows上运行python脚本.对于发布和分发,您可能希望使用像py2exe这样的东西编译成可执行文件,正如其他人提到的那样.

  • 语言没有被解释,实现是 (2认同)

geo*_*wa4 5

要添加Paul McMillan的答案,如果您使用的是Windows并且安装了Python,则任何以扩展名".py"结尾的文件都应该与python可执行文件相关联,允许您像这样运行它:

> myfile.py
Run Code Online (Sandbox Code Playgroud)

在*nix中,您可以使用以下命令开始#!/usr/bin/python运行它:

$ ./myfile.py
Run Code Online (Sandbox Code Playgroud)

在*nix系统中,如果文件的前两个字符是,#!则它将使用指定的可执行文件执行该文件,我在此处设置该文件/usr/bin/python.