【问题标题】:How to create hook modules for PyInstaller?如何为 PyInstaller 创建钩子模块?
【发布时间】:2011-09-18 11:08:47
【问题描述】:

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

【问题讨论】:

    标签: python pyinstaller


    【解决方案1】:

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

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

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

    import Bar
    

    然后在你的脚本中:

    From Foo import Bar
    

    print Bar.helloworld

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-15
      • 1970-01-01
      • 2015-08-15
      • 1970-01-01
      • 1970-01-01
      • 2021-06-26
      • 1970-01-01
      相关资源
      最近更新 更多