python - 如何为 PyInstaller 创建 Hook 模块?

标签 python pyinstaller

我最近使用 PyQt 和其他一些我想分发给其他人的软件包制作了一个脚本,并且我一直在尝试使用 PyInstaller 将它放入一个 exe 中。

不过,我遇到的问题是“导入失败,无法找到”,我收集到的问题与我需要为某些模块创建 Hook 文件这一事实有关。我已经尝试按照 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 规则是 python 脚本不能与模块同名(即 mail.py 会导致导入名为“mail”的模块时出现问题)。我的猜测是,您可能有一个名为 obspy.py 的脚本或具有该名称的 .pyc 文件。

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

创建一个名为 Foo 的模块和一个名为 Bar 的小部件。在名为 Foo/__init__.py 的文件中,列出要导入的模块:

import Bar

然后在你的脚本中:

From Foo import Bar

打印 Bar.helloworld

关于python - 如何为 PyInstaller 创建 Hook 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6407788/

相关文章:

python - pyinstaller 缺少 mxnet dll

python - 在 PyInstaller 应用程序中启用 Windows 长文件路径支持

python - 未找到 WIMP 主题 - 仅在与 PyInstaller 捆绑时 (Windows)

python - 在共享虚拟主机上运行 Bottle 服务器

python - 自动启动时 Tkinter GUI 无法正常运行

python - 如何将特定列从数据框写入Excel?

python-3.x - 通过 PyInstaller 转换 .exe 后,Chromedriver Manager 下载不起作用

python - 接受一个列表并返回两个列表的递归函数

python - 错误 - pygame.error : Couldn't open backround. png。使固定?

java - 将脚本转换为 exe 时无法执行我的脚本