1

pyファイルをexeに変換しようとしています。これが私のセットアップファイルのコードです

from distutils.core import setup
import py2exe
setup(console=["mycode.py"])

cmdを使用すると、次のように表示されます。インポートエラー:easyguiという名前のモジュールがありません

py2exeにeasyguiについて知らせるにはどうすればよいですか?numpyとmathplotlib(すべてmycode.pyで使用されます)

4

2 に答える 2

1

まず、pyinstallerを使用します。それは新しくて優れています(ただし、pyinstallerに切り替えるまでpy2exeを使用していました)。含まれているライブラリを見つけるためのレシピがはるかに優れているようです。

ただし、py2exe の場合は、setup.py をもう少し展開して、何を含めるかを指定する必要があります (これらはおそらく非表示のインポートであるため)。

setup(
    console=["mycode.py"],
    options={
        "py2exe": {
            "includes": ["easygui"],
            "bundle_files": 1
        },
    },
    zipfile = None,
)

これがビルドに失敗した場合easyguiは、PYTHONPATH に正しくありません。pythonpath を追加するためにスクリプトで特別なことをしていないことを確認してください。これは py2exe には表示されません。

numpy と matplotlib については、このファイルでもう少し作業が必要になる場合があります。ヘルプについては、この wiki を参照してください

于 2012-11-24T01:13:36.703 に答える
0

言及された特定のdllの問題に関連して、私は同様の問題を抱えていましたが、セットアップの嘘を明確に除外することでこれらの問題を修正しました:

setup(
    console=['DET14.py'],
    options={
             'py2exe': {
                        'packages' : ['matplotlib', 'pytz'],
                        'dll_excludes':['MSVCP90.DLL',
                                        'libgdk-win32-2.0-0.dll',
                                        'libgobject-2.0-0.dll',
                                        'libgdk_pixbuf-2.0-0.dll'],
                        'includes':['scipy.sparse.csgraph._validation',
                            'scipy.special._ufuncs_cxx']
                       }
            },
    data_files=matplotlib.get_py2exe_datafiles()
)`

その除外を setup ステートメントに追加してみてください。

于 2014-12-17T15:53:17.477 に答える