2009-09-16 62 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