私は何年もの間これをグーグルで検索してきましたが、結果はありません。PyInstallerのマニュアルには次のように書かれています。
--version-file=ファイル バージョン リソースを FILE から exe に追加します。
いいですね。実行可能ファイルにバージョン情報を入れたい。問題は、「バージョン ファイル」がどのように見えるか見当がつかないことと、使用できるものの例が 1 つも見つからないことです。この質問に対する受け入れ可能な回答として、バージョン ファイルの例を考えてみます。
私が試したこと
マニュアルには次のようにも書かれています。
バージョン
Windows NT ファミリのみ。version='myversion.txt'. GrabVersion.py を使用して実行可能ファイルからバージョン リソースを取得し、出力を編集して独自のバージョン リソースを作成します。(バージョン リソースの構文は非常に難解なので、ゼロから作成しようとはしません。)
私は今、私のシステムから数え切れないほどの実行可能ファイルでこれを試みました。これらのエラーが発生し続けます:
トレースバック (最新の呼び出しが最後): ファイル「C:\pyinstaller-2.0\utils\GrabVersion.py」の 42 行目 vs = versioninfo.decode(sys.argv[1]) ファイル「C:\pyinstaller-2.0\PyInstaller\utils\versioninfo.py」、33 行目、デコード nm = win32api.EnumResourceNames(h, RT_VERSION)[0] IndexError: リスト インデックスが範囲外です
バージョン情報を持たない実行可能ファイル、および:
トレースバック (最新の呼び出しが最後): ファイル「C:\pyinstaller-2.0\utils\GrabVersion.py」の 43 行目 印刷対 ファイル「C:\pyinstaller-2.0\PyInstaller\utils\versioninfo.py」、147 行目、__repr__ 内 % (インデント, self.ffi.__repr__(インデント), インデント, ファイル「C:\pyinstaller-2.0\PyInstaller\utils\versioninfo.py」、251 行目、__repr__ 内 "filevers=%s," % fv, TypeError: 文字列のフォーマット中にすべての引数が変換されるわけではありません
残りについて。