質問
py2exeを使用してwxPythonでPythonアプリケーションを配布する場合、通常、新しくインストールしたマシンで.exeを機能させるために、いくつかのMSVC DLLが必要です。特に、2つの最も一般的なDLLはmsvcp71.dllとmsvcr71.dllです
前者は、このヒントを使用して、.exeに含めることができます。ただし、後者はpy2exeによって dist
ディレクトリに配置され、実行可能ファイルには含められません。具体的に含めるように求めても。
.exe内にpy2exeの両方を含める方法はありますか?
解決
では、起動に失敗しませんか?ライブラリローダーがそれを見つけてアプリケーションのメモリマップにリンクできるように、 msvcr71.dll
をexeと同じディレクトリに配置します。
基本的な操作に必要なため、 py2exe
を残りのDLLでアンパックするだけではいけません。
他のヒント
py2exeではこれができません。 py2exeをラップできます( wikiの例でNSISでそれを行う方法を示しています) ; NSISを使用するか、InnoSetupがオプションではなかった場合、独自のラッパーを構築できます。
また、ユーザーがmsvcr71.dllの互換性のあるコピー(IIRC VistaまたはXP SP2ユーザー)をインストールすると確信している場合は、それを含めずに逃げることができます。もっと便利なのは、おそらく、Python 2.3(またはそれ以前)を使用している場合、Pythonはmsvcr71.dllではなくmsvcr.dllにリンクし、Windowsユーザーはそれをインストールするので、心配する必要はありません。
はい、py2exeはこれを行うことができます。 このリンクを表示また、python2.7を使用している場合は、" msvcr71"を置き換えます。 " msvcp90"へ。