透過圖標使 Python 程式可執行

透過圖標使 Python 程式可執行

我希望透過點擊圖示在視窗中執行 python 程式。

這是自學編碼類型和 Ubuntu 的第一天,因此過度解釋和額外的細節值得讚賞。

我正在使用的程式碼範例

print("Game Over")
input("\n\nPress the enter key to exit")

在 IDLE 中運行正常,但是當我單擊 .py 檔案圖示時,它會打開編輯器而不是程式/窗口

到目前為止我已完成的步驟

  • 右鍵單擊 .py 檔案並將權限設定為“允許將檔案作為程式執行”
  • 盡可能多地閱讀,它似乎在向我指出超出我頭腦的信息。

例子

#!/usr/local/bin/python
#!/usr/bin/env python
CHMOD X

我都不理解或不知道在哪裡使用。

我正在使用 Ubuntu 14.04 和 Python 3

先感謝您。

答案1

儘管您的問題可能因多個原因而處於邊緣(太寬泛、偏離主題、每個問題有多個主題、處於許多幾乎重複的邊緣),但我會回答這些問題。

第一個問題:關於「從圖示」運行(純文字)腳本,正如您所提到的:

  • 您的腳本是純文字的,需要在Idle終端機視窗中執行。這意味著如果您想透過雙擊圖標來運行它,您需要建立一個.desktop文件,其中是定義的在終端機視窗中運行腳本。順便說一句,
    這些.desktop檔案實際上是 Ubuntu 上安裝的所有 GUI 應用程式的一部分。

    一個非常基本的範例,適合您的腳本:

    [Desktop Entry]
    Name=Test
    Exec=/home/jacob/Bureaublad/test.py
    Terminal=true
    Type=Application
    

    最有趣的幾行是:

    Exec=/home/jacob/Bureaublad/test.py
    

    其中定義了運行腳本的命令。
    閱讀有關如何創建命令、腳本是否可執行、使用 shebang、語言擴展的更多信息,請參閱這裡

    和行:

    Terminal=true
    

    這就是說該腳本需要在終端機視窗中運行。

    您可以.desktop使用 ao 圖標和更多選項來擴展文件,具體取決於您的特定用途,請參閱這裡

  • 如何使用該.desktop文件

    • 將上面的程式碼貼到一個空文件中,另存為test.desktop.Exec=/home/jacob/Bureaublad/test.py根據我添加的連結編輯該行中的命令以建立運行腳本的命令。
    • 如果您從桌面使用該文件,請使用以下命令使其可執行:

      chmod +x /path/to/Test.desktop
      

    或者,您可以複製(移動)檔案.desktop~/.local/share/applications使其在 Dash 中可用。全域安裝的應用程式將其.desktop檔案儲存在/usr/share/applications.在最後兩個目錄中,不需要使.desktop檔案可執行。

關於你不明白的範例行

  • 線路:

    #!/usr/local/bin/python
    #!/usr/bin/env python
    

    她怦然心動;腳本的第一行,告訴 shell 如果腳本可執行,則如何執行它,並且您在執行它python之前不需要腳本的路徑。由於您使用python3,腳本中的 shebang 通常應為:

    #!/usr/bin/env python3
    

    更多關於這一點,以及上面連結中的 shebang 和 command 之間的關係。

  • CHMOD X (?)chmod +x可能就是你的意思。如上所述,您可以使用以下命令使檔案可執行:

    chmod +x /path/to/file
    

答案2

正如其他人所提到的, chmod +x 是使程式可執行所必需的。例如,對於程式 hello.py,您可以在終端機中輸入:

$ chmod +x 你好.py

現在,不知道以前的版本是否如此,但在 Ubuntu 16.04 LTS 中,有必要將圖示的行為設定為允許點擊圖示來執行程式。您可以透過以下方式執行此操作:

轉到檔案瀏覽器窗口,然後將滑鼠遊標移到螢幕頂部並選擇編輯 > 首選項 > 行為,然後選擇“打開可執行文字檔案時運行”或“每次詢問”。

另外,為了防止終端在程式結束時關閉(例如,如果您想將程式的輸出保留到螢幕上的終端),在python3.5中,您需要將此行放在程式的末尾:

輸入()

希望這可以幫助。

答案3

編寫一個 .bat 文件,該文件在命令提示字元中運行。

其中,C:/Python/Python38/python.exe為Python 3.8,c:/MyProject/mainFile.py為要執行的python腳本檔。

建立 .bat 檔案的捷徑並將其作為圖示放置在 Windows 螢幕上。這就對了。

相關內容