1

オフィス用に Python 2.7 でプログラムを作成しました。--onefile フラグを指定して PyInstaller を使用し、それを単一の EXE ファイルにコンパイルして、同僚に配布しました。私が今理解しようとしているのは、更新プログラムを自動的に提供しながら、プログラムを単一のファイルとして保持する方法です。

私の現在の方法は、プログラムに新しいバージョンをユーザーに警告させ、更新されたファイルを入手する場所を指示することです。これは機能しますが、ユーザーの関与なしで更新する方法を見つけたいと思います。

自動更新 Python プログラムを作成できるEskyを認識していますが、私が知る限り、プログラムは複数のファイルとして存在する必要があります。

自動更新できるスタンドアロンの単一ファイル EXE Python プログラムを作成する方法について何か提案はありますか?

4

2 に答える 2

2
  • 新しい実行可能ファイルを一時フォルダーにダウンロードできます
  • __file__実行可能ファイルの現在の場所を知るために使用します
  • 再起動する必要があるというメッセージを表示する
  • sys.execcv またはサブプロセスの代替手段を使用して、現在実行中のプロセスを次のような小さなスクリプトに置き換えます

    "sleep(1) & copy {tempfile} {filename}".format(tmp_file,__file__)

(古いexeを新しいexeで上書きする簡単なバッチコマンド)

于 2014-03-27T20:20:33.117 に答える
1

アプリケーションがユーザーに新しいバージョンを警告し、ユーザーがそれを望んでいる場合は、新しい exe をダウンロードし、新しい exe を開始して、現在の exe をシャットダウンします。新しいexeは、周りにある古いexeをすべて削除する必要があります。バージョンごとに異なる名前を付ける必要があります。

于 2014-03-27T19:15:07.560 に答える