pythonプログラムを実行可能にするためにLinuxで何を使用しますか


87

私はLinuxシステム(Kubuntu)をインストールしたばかりで、PythonプログラムをLinuxで実行可能にするプログラムがあるかどうか疑問に思っていました。




2
いいえ、そこでは答えられません。その質問は、配布の問題についての質問です。
tzot 2008年

いいえ、それはだまされたものではありません。その質問は、ライブラリの可用性と互換性の問題を回避するPythonソフトウェアの配布に関連しています。
tzot 2008年

回答:


155

これをスクリプトの最初の行に挿入するだけです。

#!/usr/bin/env python

ファイルを実行可能にします

chmod +x myfile.py

で実行

./myfile.py

6
よくわかりません。「#!/ usr / bin / env python」は、ハッシュでコメント行にすることになっている場合、どのように機能しますか?ハッシュラインなしでスクリプトを実行しようとしましたが、機能しませんでした。したがって、明らかに行が必要ですが、コメントの場合はどのように機能しますか?
ナビゲーション

5
他のプログラマにスクリプトを送信する場合は、これで問題ありません。しかし、これはPythonプログラムをエンドユーザーに配布するのに適した方法ではありません。ユーザーがPythonをインストールしていない場合はどうなりますか?もしそうなら、それはあなたがプログラムを書いたのとは異なるバージョンですか?全体的に、これは、特にWindowsで、ごく一部のユーザーに対してのみ機能します。
Jonathan Hartley、

4
@MathManiacほのめかして続行すると、ユーザーの約15%がアプリケーションを実行できなくなります。これは致命的な悪意のあるユーザーエクスペリエンスは言うまでもないサポートの負担になります。これにより、不快な「アプリケーションXのサックス」投稿が急増します。これはアプリケーションをエンドユーザーに配布するのに適した方法ではないという私の主張を裏付けています。
Jonathan Hartley

2
@PrahladYeri use#/ usr / bin / env python3
kingledion

3
呼ばれています@Nav シェバング。Pythonで解釈されるべきではないため、コメント化されています。オペレーティングシステムに情報を提供します。より具体的には、スクリプトを実行するためにどのプログラムを使用する必要があるかを示しています。
MannyC、

16

Pythonでスタンドアロンのバイナリアプリケーションを取得する場合は、py2exeやPyInstallerなどのツールを使用してみてください。


キーワード:スタンドアロン
Dアダムス

PyInstallerの出力を逆コンパイルできますか?
SuB 2017

13

PyInstallerを使用できます。ビルドdistを生成するので、単一の「バイナリ」ファイルとして実行できます。

http://pythonhosted.org/PyInstaller/#using-pyinstaller

Python 3には、ビルドディストリビューションを作成するネイティブオプションもあります。

https://docs.python.org/3/distutils/builtdist.html


問題は、Pythonスクリプトをexe / elfファイルにすることではありません
warvariuc

8
申し訳ありませんが、問題はそれだけのようです!「PythonプログラムをLinuxで実行可能にするプログラムがあるかどうか疑問に思っていました。」
レオペペ14

4

これらの行をコードの先頭に置くと、オペレーティングシステムにpythonスクリプトの実行に必要なバイナリプログラムを検索するように指示します。つまり、これはpythonインタープリターです。

したがって、Pythonインタープリターを保持するオペレーティングシステムによって異なります。私はUbuntuをオペレーティングシステムとして使用しているため、Pythonインタープリターを保持している/usr/bin/pythonため、Pythonスクリプトの最初にこの行を記述しなければなりません。

#!/usr/bin/python

コードを完成させて保存した後

  1. コマンドターミナルを起動します

  2. スクリプトが現在の作業ディレクトリにあることを確認してください

  3. タイプ chmod +x script_name.py

  4. これで、スクリプトをクリックしてスクリプトを開始できます。警告ボックスが表示されます。警告ボックスで「実行」または「ターミナルで実行」を押します。または、端末プロンプトで次のように入力します./script_name.py


4

実行可能にしたい場合 hello.py

まず、PythonがあなたのOSにあるパスを見つけます: which python

通常は「/ usr / bin / python」フォルダにあります。

一番最初の行にhello.py追加する必要があります:#!/usr/bin/python

その後、Linuxコマンドを介して chmod

次のように実行可能にする必要があります: chmod +x hello.py

と実行 ./hello.py


1

私は次のことを行います:

  1. #を置く / usr / bin / env python3(スクリプトの先頭)
  2. chmod u + x file.py
  3. ファイル名の.pyを.commandに変更します

これにより、ファイルは基本的にbash実行可能ファイルになります。それをダブルクリックすると、実行されるはずです。これはUnixベースのシステムで機能します。


0

これを行う別の方法は、エイリアスを作成することです。たとえば、端末での書き込み:

alias printhello='python /home/hello_world.py'

書き込みprinthelloはhello_world.pyを実行しますが、これは一時的なものです。エイリアスを永続化するには、bashrcにエイリアスを追加する必要があります。ターミナルで次のように入力して編集できます。

gedit ~/.bashrc
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.