py2exe

2012-01-29 5 views
2

を使用しているので、exeファイルを作成しようとしています。私はPython 2.7を使用しています。私が知る限り、py2exeの正しいバージョンがインストールされています。私はexeファイルを作成するためのシンプルなsetup.pyコードを書いています。py2exe

しかし、私はそれを実行したとき、私はエラーを取得:

エラー:MSVCP90.dll:そのようなファイルやディレクトリは今

いいえ、私は2つの方法でこれを修正しようとしている:

  1. 私はMSVCP90.dllファイルをインストールし、python27 dllのファイルに入れて、setupを実行しました。これにより、実行ファイルが正常に作成されました。しかし、実行可能ファイルを実行しようとすると、次のようになります。

コンピュータにMSVCR90.dllが存在しないため、プログラムを開始できません。この問題を解決するためにプログラムを再インストールしてみてください。

私はこのdllをダウンロードしてpython27で置き、exeで何が起こったのか見てみましたが、どちらもうまくいきませんでした。

  1. MSVCP90.dllファイルがセットアップファイルで使用されないように除外しました。繰り返しますが、実行ファイルが正常に作成されましたが、同じエラーが発生しました。

私はpythonとpy2exeを何回も再インストールしましたが、それは役に立ちませんでした。

私はこの実行可能ファイルを取得するために何ができるのですか?

+0

散弾銃のアプローチとして、MSVCP90.dllをPython27のDLLに入れて再起動しましたか? – octopusgrabbus

+0

はい、私は今それを試みましたが、何も解決しませんでした。 –

+0

私は混乱しています。あなたのエラーは別のDLL、 'R90.dllですが、あなたは' P90.dllについて話しています。 – octopusgrabbus

答えて

0

あなたがwxpythonを使用しているコメントで述べたとおりです。私はwxpythonとpy2exeで同じ問題を抱えていました。 MSVCP90.dllのマニフェストをexeファイルに追加して解決しました。これらの行をsetup.pyに追加して、動作するかどうか確認してください。

manifest = """<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
    <assemblyIdentity 
    version="5.0.0.0" 
    processorArchitecture="x86" 
    name="%(prog)s" 
    type="win32" 
    /> 
    <description>%(prog)s</description> 
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> 
    <security> 
     <requestedPrivileges> 
     <requestedExecutionLevel 
      level="asInvoker" 
      uiAccess="false"> 
     </requestedExecutionLevel> 
     </requestedPrivileges> 
    </security> 
    </trustInfo> 
    <dependency> 
    <dependentAssembly> 
     <assemblyIdentity 
      type="win32" 
      name="Microsoft.VC90.CRT" 
      version="9.0.21022.8" 
      processorArchitecture="x86" 
      publicKeyToken="1fc8b3b9a1e18e3b"> 
     </assemblyIdentity> 
    </dependentAssembly> 
    </dependency> 
    <dependency> 
    <dependentAssembly> 
     <assemblyIdentity 
      type="win32" 
      name="Microsoft.Windows.Common-Controls" 
      version="6.0.0.0" 
      processorArchitecture="X86" 
      publicKeyToken="6595b64144ccf1df" 
      language="*" 
     /> 
    </dependentAssembly> 
    </dependency> 
</assembly>""" 

... 

windows = [{"script":"myscript.pyw",'other_resources': [(24,1,manifest)]}]