3

こんにちは、読んでくれてありがとう。pyinstaller を使用して Python コードを 1 つのファイルにパッケージ化していますが、パッケージ化されたファイルを実行すると、次のエラーが発生します。

Traceback (most recent call last):
File "<string>", line 21, in <module>
File "C:\Users\****\Desktop\pyinstaller-2.0\pyinstaller-2.0\PyInstaller\loader\iu.py", line 409, in importHook
ImportError: No module named PyQt4.QtCore

特にデスクトップに pyinstaller-2.0 というディレクトリ名がなく、PyQt4 をまったく使用していないため、このエラーが何を示しているのかわかりません。

インポートされたモジュール:Tkinter, tkFileDialog, tkMessageBox, multiprocessing, os, sys, time, numpy, scipy.weave, pywt, matplotlib.pyplot

multiprocessing以前にこのエラーを経験したことがないので、問題は に関連していると思います。このレシピを使用して、multiprocessingモジュールを正しく実装しました。

4

1 に答える 1

3

使用していた場合PyQt、PyInstaller でモジュールをインポートする唯一の方法は使用することです

 from PyQt4 import QtCore, QtGui

それよりも

 import PyQt4.QtCore, PyQt4.QtGui

あなたのエラーが意味するもの。しかし、あなたは使用していないと言いますPyQt

PyQtはオプションの依存関係であるmatplotlibため、PyInstaller がmatplotlibモジュールをチェックし、その結果PyQt.

PyQtモジュールをビルドから除外することをお勧めします。ファイルで、クラス.specの行を検索します-次のようなものですAnalysis

Analysis( ..., excludes=['PyQt4', 'PyQt4.QtCore', 'PyQt4.QtGui'])

excludes上記のようにキーワード argを編集します。

于 2013-03-06T10:01:01.253 に答える