2010-08-30 43 views
2

在Windows中,爲了使我的一個代碼執行,我所要做的就是雙擊文件。但是,我似乎無法弄清楚如何在Ubuntu中執行類似的任務。在Ubuntu中製作python文件可執行文件

+0

這與.pyw文件無關(它們只是阻止控制檯出現但其他方面完全一樣)。 – delnan 2010-08-30 19:07:15

回答

6

請確保您有#!/usr/bin/env python作爲腳本的第一行,然後在你的殼呢:

chmod +x file.py 
./file.py 
+1

到OP:這是你需要的,只是不要忘記添加一些'#!/usr/bin/python'作爲第一行。 '#!'是告訴計算機運行腳本需要什麼可執行文件的unix-y方式。 – 2010-08-30 19:12:52

+0

將評論合併到答案中,我們就完成了。 – delnan 2010-08-30 19:14:43

0

你必須設置權限的文件,它是可執行的使用chmod。有關詳細信息,請參閱chmod的manpages

4

.pyw文件只是重命名的.py文件,以便Windows文件關聯將使用無控制檯的Python解釋器而不是常規的解釋器啓動它們。

要想在Ubuntu上運行雙擊,首先,您需要確保內核將該腳本視爲可執行文件並知道如何處理它。要做到這一點:

  1. 使用或者Nautilus文件屬性對話框或chmod命令,以紀念它的可執行文件(chmod +x whatever.pyw
  2. 確保文件的第一行說:#!/usr/bin/env python(更多信息請參見wikipedia
  3. 確保文件是使用Unix風格的LF(\n)行尾而不是DOS/Windows風格的CRLF(\r\n)行結束符保存的。 (內核期望Unix風格的行結束了步驟2和步驟,如果你忘了,它看到CR(\r)字符爲錯誤出路徑的一部分和)

您可以測試是否已經完成了這些通過在終端窗口中運行腳本來正確執行步驟。 (cd到它所在的目錄並運行./your_script.pyw

如果它起作用,那麼Nautilus應該會自動顯示「編輯或運行?」對話框,當你雙擊。然而,自從我使用GNOME以來已經有一段時間了,所以我不能確定。

如果沒有,請嘗試將該文件重命名爲.py。 (我記得鸚鵡螺有一個「Extension matches header?」的安全檢查,可能不知道.pyw是.py的有效同義詞)

相關問題