如何编译和运行python文件(* .py扩展名)?
答案 0 :(得分:28)
python yourfile.py
你必须先安装python。它会自动将您的文件编译为.pyc二进制文件,然后为您运行它。只要文件发生变化,它就会自动重新编译。
答案 1 :(得分:15)
答案 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的答案
现在python代码自动编译并显示结果。