4

私は最近、他の人に配布したいPyQtと他のいくつかのパッケージを使用してスクリプトを作成し、PyInstallerを使用してexeに入れようとしました。

私が遭遇する問題は、いくつかのモジュールのフック ファイルを作成する必要があるという事実に関連して収集した「インポートに失敗しました。見つかりません」です。PyInstaller マニュアルの制限付きガイドに従ってみましたが、試した方法ではうまくいかないようです。何か案は?生成された .exe ファイルは「from import obspy.core import *」ステップで失敗するため、おそらくそれが正常に完了する前に発生するインポートです。

スクリプトの私のインポートは次のとおりです。

import os.path
import sys
import string
import fnmatch

import numpy as np

from PyQt4.QtCore import *
from PyQt4.QtGui import *
from obspy.core import read
from matplotlib.figure import Figure
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.backends.backend_qt4agg import NavigationToolbar2QTAgg as     NavigationToolbar
from matplotlib.widgets import MultiCursor
from obspy.signal import rotate
from obspy.signal import filter
4

1 に答える 1

0

#1 のルールは、python スクリプトがモジュールと同じ名前を持つことはできないということです (つまり、mail.py は「mail」という名前のモジュールをインポートする際に問題を引き起こします)。おそらく、obspy.py という名前のスクリプトまたはその名前の .pyc ファイルがあると思います。

カスタム モジュールのインポート設定に関しては、これでうまくいきます。

Bar という名前のウィジェットで Foo という名前のモジュールを作成します。Foo/__init__.py という名前のファイルで、インポートするモジュールをリストします。

import Bar

次に、スクリプトで:

From Foo import Bar

print Bar.helloworld

于 2012-09-01T02:31:20.760 に答える