编译Python

时间:2009-09-16 16:42:51

标签: python compiler-construction

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

8 个答案:

答案 0 :(得分:28)

python yourfile.py

你必须先安装python。它会自动将您的文件编译为.pyc二进制文件,然后为您运行它。只要文件发生变化,它就会自动重新编译。

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

答案 1 :(得分:15)

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

如果您不想在目标计算机上安装Python,请使用py2exepy2app或类似内容。

答案 2 :(得分:12)

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

compileall.py <directory>

此命令将以递归方式编译该目录中的python代码

compileall 脚本通常位于

目录中
/usr/local/lib/python2.6

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

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

compileall也可以用作模块

import compileall
compileall.compile_dir(path)

答案 3 :(得分: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相关联(python上附带python)视窗)。这将允许您像在其他GUI程序上一样在Windows上运行python脚本。对于发布和分发,您可能希望使用像py2exe这样的东西编译成可执行文件,正如其他人提到的那样。

答案 4 :(得分:5)

要添加到Paul McMillan's answer,如果您使用的是Windows且安装了Python,则任何以扩展名“.py”结尾的文件都应与python可执行文件关联,以便您运行它是这样的:

> myfile.py

在* nix中,您可以使用#!/usr/bin/python开始文件并按以下方式运行:

$ ./myfile.py

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

答案 5 :(得分:3)

如果要将python源文件转换为可在Windows上双击的.exe,可以使用py2exe,这可以帮助您构建易于分发的包。

答案 6 :(得分:1)

在大多数类Unix系统上,您可以使用shebang告诉操作系统应该调用哪个解释器。你只需要

#!/path/to/python 

在文件的第一行,当然你必须用你系统上的路径替换“/ path / to /”。在大多数情况下,这将是“/ usr / bin / python”或“/ usr / local / bin / python”。在unix系统上,您还可以使用

查找路径
"#!usr/bin/env python" 

或调用命令

which python

找到路径。 然后,您可以使用命令

运行程序
./yourprogram.py

如果它告诉您没有这样做的权限,则必须使用命令

chmod a+x yourprogram.py

答案 7 :(得分:0)

Windows的答案

  1. 首先必须安装python
  2. 然后设置路径变量
  3. 之后编写你的python程序并保存
  4. 认为有一个名为“ hello.py
  5. 的python程序
  6. 打开cmd.exe
  7. 然后转到您保存“ hello.py ”文件的路径,
  8. 然后输入 python hello.py 并按输入键。
  9. 现在python代码自动编译并显示结果。