编译Python

编译Python,python,compiler-construction,Python,Compiler Construction,如何编译和运行python文件(*.py扩展名)?pythonyourfile.py 您必须先安装python。它会自动将您的文件编译成.pyc二进制文件,然后为您运行它。它将在文件更改时自动重新编译 Python在执行文件之前将其编译成字节码。这意味着您必须在目标机器上安装Python解释器 如果您不想在目标计算机上安装Python,请使用或类似的工具。要添加到,如果您在Windows上安装了Python,则任何以扩展名“.py”结尾的文件都应该与Python可执行文件相关联,这样您就可以像这

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

pythonyourfile.py

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


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

如果您不想在目标计算机上安装Python,请使用或类似的工具。

要添加到,如果您在Windows上安装了Python,则任何以扩展名“.py”结尾的文件都应该与
Python
可执行文件相关联,这样您就可以像这样运行它:

> myfile.py
$ ./myfile.py
在*nix中,可以以
#开始文件/usr/bin/python
并按如下方式运行:

> myfile.py
$ ./myfile.py

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

在大多数类似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
寻找路径。 然后可以使用命令运行程序

which python
./yourprogram.py
chmod a+x yourprogram.py
如果它告诉您没有这样做的权限,您必须使用该命令

which python
./yourprogram.py
chmod a+x yourprogram.py

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

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之类的东西编译成可执行文件,正如其他人所提到的。

如果您只想编译源代码,而不运行源代码,您可以这样做

compileall.py <directory>
i、 e.
/lib/python2.6
(或类似版本,取决于python配置中设置的前缀)

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

也可用作一个模块

import compileall
compileall.compile_dir(path)

针对Windows的应答

  • 首先,必须安装python
  • 然后设置路径变量
  • 然后编写python程序并保存
  • 假设有一个python程序名为“hello.py
  • 打开cmd.exe
  • 然后转到保存“hello.py”文件的路径
  • 然后键入python hello.py并按enter

  • 现在python代码将自动编译并显示结果

    为什么会有反对票?对于一个不熟悉Python的人来说,这是一个非常有效的问题。特别是来自C、C++、java等。——1:请在这里问之前检查Python教程。格伦:现在!在编辑之前先看问题;-)@格伦:那么它现在应该得到7张赞成票了吗?@Helen Neely,有时候很快得到一个具体的答案是很好的,而不是通过费力的教程来挖掘。目前,有3人认为这个问题很有用;在Windows中,我还喜欢将.py添加到PATHEXT环境变量中,使.py文件像.exe一样可执行(即不键入扩展名)。你还需要安装Python。啊!必须执行
    chmod u+x*.pyc
    才能授予用户可执行权限,并且必须是.pyc文件。然后,您可以执行
    /program.pyc
    我了解到您可以对py和pyc扩展执行此操作。解释器(在几乎所有情况下)都依赖于python解释器来完成这项工作。它们是字节码和二进制,尽管它们不是传统意义上的“系统可以运行它们”的“二进制”。