2009-09-16 58 views
43

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

+17

为什么downvotes?对于一个不熟悉Python的人来说,这似乎是一个完全有效的问题。 – Glen 2009-09-16 16:54:29

+7

特别来自C,C++,Java等。 – geowa4 2009-09-16 16:59:33

+4

-1:请在这里询问之前查看Python教程。 http://docs.python.org/tutorial/ – 2009-09-16 17:00:59

回答

27

python yourfile.py

你必须有第一次安装蟒蛇。它会自动将您的文件编译为.pyc二进制文件,然后为您运行它。它会在您的文件发生更改时自动重新编译。

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

+1

不是.pyc文件字节码文件 – Will03uk 2011-10-28 14:18:25

+1

是的。它们是字节码和二进制码,尽管它们在传统的“系统可以运行它们”的意义上不是“二进制”。 – 2011-11-02 01:25:23

15

的Python编译它的文件字节码执行之前。这意味着你必须在目标机器上安装一个Python解释器。

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

+0

@gs:你应该把他推荐到Python网站http://docs.python.org/tutorial,而不是谈论py2exe和py2app – 2009-09-16 17:24:30

+5

@Helen Neely,有时候很快就能得到一个具体的答案,而不是通过挖掘一个辛苦的教程。目前,有3人认为这个问题有用;你能从中了解到点东西。 – 2009-09-16 17:31:25

5

为了增加Paul McMillan's answer,如果你使用的是Windows,你有Python的安装,则与扩展名“py”为应与python可执行文件相关联,让您可以这样运行这个后缀的文件:

> myfile.py 

在* nix中,你可以用#!/usr/bin/python开始文件,并像这样运行:

$ ./myfile.py 

在* nix系统,如果一个文件的前两个字符是#!那么它将执行FIL e与指定的可执行文件,我在这里设置为/usr/bin/python

+1

在Windows中,我也希望将.py添加到PATHEXT环境变量中,使.py文件可以像.exe一样执行(即不键入扩展名)。你仍然需要安装Python。 – 2009-09-16 22:09:29

+0

啊!您必须执行'chmod u + x * .pyc'来为用户提供可执行权限**和**它必须是.pyc文件。然后,你可以执行'./ program.pyc' – dylnmc 2014-10-01 16:02:14

+0

我知道你可以为py和pyc扩展执行此操作。解释器(几乎在所有情况下)都依赖python解释器来执行此操作。 – dylnmc 2014-10-02 16:49:04

1

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

#!/path/to/python 

在你的文件的第一行,其中当然你要替换“/路径/到/”你有你的系统上的路径。在大多数情况下,这将是“/ usr/bin/python”或“/ usr/local/bin/python”。在Unix系统中,你也可以寻找路径以

"#!usr/bin/env python" 

或调用命令

which python 

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

./yourprogram.py 

运行您的程序如果告诉你,你无权这样做,你必须使用命令

chmod a+x yourprogram.py 
3

如果你想改变一个python源文件转换为Windows上的双击可打开.exe,您可以使用py2exe,它可以帮助您构建一个易于分发的软件包。

+0

这只适用于Python 2. – starbeamrainbowlabs 2014-04-14 12:48:53

8

Python是一种解释型语言,所以你不需要编译它;只是为了运行它。正如它发生的那样,标准版本的python会将它编译为“字节码”,就像Java等一样,并且会保存(在.pyc文件中)并在下次运行时节省时间,如果尚未更新该文件。如果您更新了该文件,它将自动重新编译。

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

是的,在Unix上(包括Linux,BSD和Mac OS X,或Windows上的unix shell),您可以在文件顶部使用shebang行来使文件自动运行。在Windows上,相当于将.py文件与python.exe关联,然后确保您的PATHEXT环境变量包含“.PY”扩展名。但是,对于windows,你更可能想用python编写一个gui程序(可能使用PyQT4和ERIC4),它有一个.pyw文件作为其主脚本,并且.pyw与pythonw相关联(它附带python在窗户上)。这会让你像其他GUI程序一样在Windows上运行python脚本。对于发布和发布,您可能想要像使用py2exe那样将其编译为可执行文件,如其他人所述。

+1

该语言未解释,执行步骤为 – Will03uk 2011-10-28 14:19:46

10

如果你只是想编译源代码,而无需运行它们,你可以做到这一点

compileall.py <directory> 

此命令将在该目录中递归

compileall脚本通常位于目录编译Python代码像

/usr/local/lib/python2.6 

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

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

compileall也可以作为一个模块使用

import compileall 
compileall.compile_dir(path) 
0

答案为Windows

  1. 第一后写你的Python,您必须安装python
  2. 然后设置PATH变量
  3. 程序并保存
  4. 认为这是一个Python程序,命名为“hello.py
  5. 开放的cmd.exe
  6. ,则跳转,你救了你的“hello.py”文件的路径,
  7. 然后键入python hello.py并按输入键。

现在Python代码自动编译并显示结果。

+3

步骤0.打开计算机并登录到Windows .. – 2014-02-04 14:14:45