14

pyinstallerを使用して配布するPythonプログラムを作成しました。onefileこれまで、このオプションを使用してスタンドアロンの実行可能ファイルを作成してきました。これまでは素晴らしいことでしたが、アプリケーションが成長するにつれて、起動時間が少し長くなります。また、アップグレードを簡単にするために、ユーザーにアプリケーションを適切にインストールしてもらいたいです。

pyinstallerのonedirオプションを使用して、アプリの単一ディレクトリバージョンを作成しようとしています。ただし、作成される.exeファイルを実行するには、管理者権限が必要ですが、onefileバージョンでは必要ありません。プログラム自体はそのような特権を必要としないので、これはpyinstallerが行っていることだと思います。管理者権限を必要としないアプリケーションを作成するにはどうすればよいですか?

追加情報:

  • Python 2.6、pyinstaller v1.4
  • アプリケーションはPyQt4およびpygameモジュールを使用します。
  • Windows7用の実行可能ファイルを作成しようとしています。
  • -w pyinstallerオプションを使用して、ウィンドウのない実行可能ファイルを作成します。
4

2 に答える 2

6

私は最近この問題に遭遇しました。それを解決するための私の経験は次のとおりです。

オプションを指定した PyInstaller--onefileは、「実行可能ファイル」にマニフェスト ファイルを作成します。Windows 上のこのマニフェスト ファイルは、バンドルされているアプリケーションに関するいくつかの情報を OS に伝えます。指定するものの 1 つは、アプリケーション名/マニフェスト ファイルです。マニフェスト ファイル名の形式はappname.exe.manifest. プログラムが PyInstaller で凍結されている場合、マニフェストに格納される実行可能ファイル名は、PyInstaller のフォルダーの下にある完成した EXE に付けられた名前になります。EXE の名前を変更すると、EXE で圧縮されたマニフェスト ファイルが一致しなくなります。したがって、最終的な EXE ファイル名と同じ名前のマニフェスト ファイルを作成し、オプションを指定して PyInstaller を実行するか、PyInstaller が作成する EXE の名前を変更しないでください。/dist--manifest

PyInstaller プロジェクトを custom--manifestでパッケージ化すると、名前が変更されたプログラムは管理者の昇格を要求しなくなります。

于 2012-05-10T19:39:22.507 に答える