如何为PyInstaller创建钩子模块?

时间:2011-06-20 06:57:42

标签: python pyinstaller

我最近使用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

1 个答案:

答案 0 :(得分:0)

#1规则是python脚本不能与模块具有相同的名称(即mail.py会导致导入名为'mail'的模块时出现问题)。我的猜测可能是你有一个名为obspy.py的脚本或一个带有该名称的.pyc文件。

就我自定义模块的导入设置而言,这对我有用。

使用名为Bar的小部件创建名为Foo的模块。在名为Foo / __ init__.py的文件中,列出要导入的模块:

import Bar

然后在你的剧本中:

From Foo import Bar

print Bar.helloworld