web-dev-qa-db-ja.com

アイコンからPythonプログラムを実行可能にする

アイコンをクリックすることで、pythonプログラムがウィンドウ内で実行されます。

これは自分自身とコーディングの種類とUbuntuを教える最初の日なので、過剰な説明と余分な詳細を歓迎します。

私が使用しているコード例

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

IDLEでOKを実行しますが、.pyファイルアイコンをクリックすると、プログラム/ウィンドウの代わりにエディターが開きます

これまでに行った手順

  • .pyファイルを右クリックし、「プログラムとしてファイルの実行を許可する」権限を設定します
  • 私ができる限り読んで、それは私の頭の上にある情報を指しているようです。

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

どちらを使用するかを理解または認識していません。

Ubuntu 14.04とPython 3を使用しています

前もって感謝します。

2
strangeagent

あなたの質問は複数の理由でEdgeにあるかもしれませんが(あまりにも広範で、トピックごとに、質問ごとに複数の主題があり、ほとんど重複しているEdgeに)、質問に答えます。

最初の質問:あなたが言及するように、「アイコンから」(テキストのみ)スクリプトを実行することについて:

  • スクリプトはテキストのみであり、Idleまたはターミナルウィンドウで実行する必要があります。つまり、アイコンからダブルクリックして実行する場合は、.desktopファイルを作成する必要があります。このファイルでは、definedを実行します端末ウィンドウ内のスクリプト。
    これらの.desktopファイルは、Ubuntuに実際にインストールされるほとんどすべてのGUIアプリケーションの一部です。

    スクリプトに適した非常に基本的な例:

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

    最も興味深い行は次のとおりです。

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

    スクリプトを実行するコマンドが定義されています。
    コマンドの作成方法、スクリプトを実行可能にするかどうか、Shebang、言語拡張機能を使用する方法の詳細については、 here を参照してください。

    そして次の行:

    Terminal=true
    

    つまり、スクリプトはターミナルウィンドウで実行する必要があります。

    .desktopファイルをa.oで拡張できます。アイコンと多くのオプションは、使用目的に応じて、 here を参照してください。

  • .desktopファイルの使用方法

    • 上記のコードを空のファイルに貼り付け、test.desktopとして保存します。スクリプトを実行するコマンドを作成するために追加したリンクに従って、Exec=/home/jacob/Bureaublad/test.py行のコマンドを編集します。
    • デスクトップからファイルを使用する場合は、次のコマンドで実行可能にします。

      chmod +x /path/to/Test.desktop
      

    または、.desktopファイルを~/.local/share/applicationsにコピー(移動)して、Dashで使用できるようにすることもできます。グローバルにインストールされたアプリケーションは、.desktopファイルを/usr/share/applicationsに保存します。最後の2つのディレクトリでは、.desktopファイルを実行可能にする必要はありません。

理解できない例の行について

  • 台詞:

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

    areshebangs;スクリプトの最初の行。スクリプトが実行可能かどうかをシェルに指示し、スクリプトへのパスの前にpythonなしで実行します。 python3を使用しているため、スクリプトのShebangは通常次のようになります。

    #!/usr/bin/env python3
    

    これについての詳細、および上記のリンクのシバンとコマンドの関係。

  • CHMOD X(?)chmod +xはおそらくあなたが言っていることです。上記で説明したように、次のコマンドでファイルを実行可能にできます。

    chmod +x /path/to/file
    
8
Jacob Vlijm

他の人が述べたように、プログラムを実行可能にするにはchmod + xが必要です。たとえば、プログラムhello.pyの場合、これをターミナルに入力します。

$ chmod + x hello.py

以前のリリースに当てはまるかどうかはわかりませんが、Ubuntu 16.04 LTSでは、アイコンをクリックしてプログラムを実行できるようにアイコンの動作を設定する必要があります。これは次の方法で実行できます。

ファイルブラウザウィンドウに移動し、マウスカーソルを画面の上部に移動して、[編集]> [設定]> [動作]を選択し、[実行時に実行可能なテキストファイルを開く]または[毎回確認]を選択します。

また、プログラムの最後で端末が閉じないようにするために(たとえば、画面上の端末へのプログラムの出力を保持する場合)、python3.5では、この行をプログラムの最後に置く必要があります:

入力()

お役に立てれば。

0
user198845