Python で IRC ボットを作成しています。
Linux および Windows 用のスタンドアロン バイナリを作成したいと考えています。そして主に、ボットが開始したときにコンソールウィンドウが非表示になり、ユーザーがウィンドウを見ることができないようにする必要があります。
そのために何ができますか?
.pyw
拡張子を付けて保存するだけです。これにより、コンソール ウィンドウが開かなくなります。
Windows システムでは、「実行可能モード」という概念はありません。Python インストーラーは、.py ファイルを python.exe に自動的に関連付け、Python ファイルをダブルクリックするとスクリプトとして実行されるようにします。拡張子は .pyw にすることもできます。その場合、通常表示されるコンソール ウィンドウは抑制されます。
Linux では、実行するだけで問題ありません。Windows では、pythonw 実行可能ファイルを使用します。
わかりました。コメントの質問が理解できれば、コマンド ラインからボットを起動したコマンド ウィンドウを後で非表示にする方法を尋ねていますか?
$ nohup mypythonprog &
C:/> pythonw mypythonprog を開始
その通りだと思います。いずれにせよ、これでターミナルを閉じることができます。
を使用するnohup mypythonprog &
と、プロセスを中断することなくターミナル ウィンドウを閉じることができます。exit
クラウドで実行していて、ハングしているシェル プロセスを残したくない場合にも実行できます。
.pyw
拡張子を付けてプログラムを保存すると、 pythonw.exe
. シェルウィンドウはありません。
たとえば、 がある場合はfoo.py
、名前を に変更する必要がありますfoo.pyw
。