2013-02-11 13 views
9

私はpy2exeを使ってPython 2.7とPyqt4で書かれた簡単なGUIスクリプトをスタンドアロンの実行可能ファイルに変換しようとしています。私は "このようなファイルは存在しません"というエラーを出し続けていますが、私はいくつか修正することができましたが、これは頑固に見えます。それはmsvcp90.dllを見つけることができず、distutilsへの短いトレースバックでエラーメッセージを返し、その後py2exeスクリプトに戻ってきます。これはあまり啓発されていません。 py2exeがmsvcp90.dllを見つけることができません

py2exe fails to generate an executable

で推奨されているように私は、MS C++再配布可能なランタイムをインストールしましたが、私のスクリプトはまだ.dllファイルを見つけることができません。 、

from distutils.core import setup 
from py2exe.build_exe import py2exe 
import sys, os, zmq 

sys.argv.append('py2exe') 

os.environ["PATH"] = \ 
os.environ["PATH"] + \ 
os.path.pathsep + os.path.split(zmq.__file__)[0] 

setup(
    options = {'py2exe':{'bundle_files':1,"includes":["zmq.utils", 
      "zmq.utils.jsonapi","zmq.utils.strtypes"]}}, 
    console = [{'script':"#######.py"}], 
    zipfile = None 
) 

を、私はそのことについては、今まで私のスクリプトによって使用されていないzmqの問題(あるいは私のGUIを既に修正しました。以下は、私のスクリプトの名前が出てブロックされて、私のpy2exeスクリプトです私の知る限りでは)。私は間違って何をしていますか?

+0

私はzmqが含まれている理由は、 '' ' "を含む" が原因だと思う:[" zmq – dja

答えて

9

私は自分のアプリをビルドすることができました。質問はやや古くなっていますが、これは結局は誰かに使用されることを希望しています。

まず、 py2exeがおそらく間違ったツールです。それは古いもので、AFAICTは維持されていません。代わりにPyInstallerを考えてみましょう。 PyInstallerを使用するのは、それをインストールする、PyWin32をインストールする、そしてpython %path_to_pyinstaller%/pyinstaller.py --onefile --windowed source.pyに行くというように、文字通り簡単です。 PyInstallerは、何もせずに、サイド・バイ・サイド・アセンブリーのすべての混乱を処理します。

要するに、PyInstallerを使用してください。

しかし、は、あなたの質問に答えるために、これは私の仕事:

  1. をあなたにリンクした質問 - this answer特に右スタートです。適切なDLLを見つけて、C:\ Python27 \ DLLにコピーしてください。
  2. setup.pyファイルを削除してください。 zmqを使用していない場合は、インポートする必要はありません。また、ウィンドウアプリケーションでは、windows=console=ではありません。私のファイルは、(梱包show.pyのために)行く:

    #!/usr/bin/python 
    
    from distutils.core import setup 
    import py2exe 
    
    setup(options={'py2exe':{'bundle_files':1}}, 
         windows=['show.py']) 
    

    (これはhttp://www.blog.pythonlibrary.org/2010/07/31/a-py2exe-tutorial-build-a-binary-series/ピンチオフされる)

+0

あなたのソリューションは、exeをビルドするためのスクリプトを持っていましたが、まだ正しく機能していません。しかし、私の問題は解決されました。ありがとう。 – bythenumbers

+1

Thomas Hellerは依然として貢献していることが分かります!http://sourceforge.net/p/py2exe/svn/737/tree/trunk/py2exe/ChangeLog – Barton

+0

['pyinstaller'](https://github.com/pyinstaller/pyinstaller/commits/develop)は[' py2exe']よりもアクティブです(http://sourceforge.net/p/py2exe/svn/737/tree/トランク/ py2exe /変更ログ)。 – Antonio

関連する問題