Pyinstaller 和 Pycrypto

2023-11-27

我们最近将 pycrypto 添加到我们一直在开发的项目中,现在我无法在使用 pyinstaller 构建该软件后运行该软件。

我在 pyinstaller 中遇到了新软件包的问题,​​但我无法特别修复这个问题。

我在尝试运行构建的软件时遇到的错误如下(抱歉,释义,构建需要相当长的时间)

起初它是这样的:

No package Crypto.Cipher

所以我添加了'Crypto' to the hiddenimports在我的 .spec 文件中。然后我得到了,

No module named Cipher

所以我改变了'Crypto' to 'Crypto.Cipher'然后我得到,

Crypto.Cipher has no attribute AES

所以我改变了'Crypto.Cipher' to 'Crypto.Cipher.AES'然后我得到了

File "C:\Folder\made\by\pyinstaller\Crypto.Cipher.AES", line 49 in <module>
ImportError: cannot import name blockalgo

所以我改变了'Crypto.Cipher.AES' to 'Crypto.Cipher.AES.blockalgo'并且错误没有改变。

我尝试了几种不同的配置,但构建脚本的输出总是显示以下内容:

ERROR: Hidden import 'blockalgo' not found.

有谁知道如何正确导入它,或者知道如何让 pycrypto 与 pyinstaller 很好地配合?


根据pyinstaller 手册:

您可以使用 Python 的详细导入标志来验证隐藏导入是否是问题所在。如果导入消息显示“找不到模块”,但 warnproject.txt 文件没有同一模块的“没有名为...”的消息,则问题是隐藏导入。

隐藏导入是通过在分析时挂钩模块(执行隐藏导入的模块)来处理的。请按如下方式执行此操作:

  1. 创建一个名为 hook-module.py 的文件(其中 module 是完全限定的 Python 名称,例如 hook-xml.dom.py)并将其放置在某个位置。记住该位置作为您的私人 hooks 目录。

  2. 在 .spec 文件中,将您的私有 hooks 目录作为 hookspath 参数传递给 Analysis,以便进行搜索。例子:

    a = Analysis(['myscript.py'], hookspath='/my/priv/hooks') 在大多数情况下,钩子模块只有一行:

    隐藏导入 = ['模块1', '模块2'] 当分析找到此文件时,它将完全按照模块显式导入 module1 和 module2 的方式进行。

这个问题似乎相关,答案可能对您也有用。

最后,这份报告似乎包含类似的问题。用户似乎能够通过更新到 pyinstaller 2.1 来修复它,因此如果您还没有尝试过,您可能想尝试一下。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pyinstaller 和 Pycrypto 的相关文章

随机推荐

  • 哪个版本的 jQuery 和 jQuery Mobile 可以一起工作?

    我正在开展一个业余项目 希望它成为一个包含地理定位的移动应用程序 不过 我想从简单的开始 哪个版本的 jQuery 和 jQuery Mobile 协同工作效果最好 我在 iPad 应用程序上使用了一些旧版本 但我想知道更新的版本是否可以真
  • 如何在 Objective-C 中检测外部键盘连接?

    我的应用程序需要知道外部键盘是否连接 我怎样才能知道这一点 请不要使用私有 API 如果这与 iOS 相关 我不确定您为什么要检测它 因为硬件键盘的行为与软件键盘完全相同 除了一些额外的声音 亮度等快捷方式 您的应用程序不应该这样做 无论如
  • 错误:无法为 backports.zoneinfo 构建轮子,安装 django 时出错

    我是 python 开发新手 我正在尝试使用 django 但在使用安装 django 时遇到此错误pip3 install django 4 0 我尝试了一些解决方案 但没有一个有效 我已经尝试过了 将 pip 升级到最新版本 pip i
  • 如何使用 shell 脚本删除字符串中的尾随字符?

    如何删除最后一个n使用 shell 脚本从特定字符串中提取字符 这是我的输入 ssl01 49188 ssl01 49188 ssl01 49188 ssl01 49188 ssl999999 49188 ssl01 49188 abcf9
  • 在 D3.js 中使用序数比例创建标记为 x 轴的文本

    我正在 d3 js 中构建一个带有序数 x 轴的条形图 其刻度应使用文本标记图表 谁能解释序数刻度如何 映射 x 到相应的条形位置 具体来说 如果我想将带有文本值数组的 x 刻度标签指定为条形图中相应的条形 目前我将域设置如下 var la
  • 查找直方图最大值对应的 x 值

    我记录下来是为了证实 S O 的想法 感谢迈克尔 0x2a 我一直在尝试找到与绘制的直方图最大值相关的 x 值matplotlib pyplot 起初 我什至无法找到如何仅使用代码访问直方图的数据 import matplotlib pyp
  • 检查文件是否已经打开

    我正在编写一个文件读取库 需要检查文件是否已打开 以便我可以跳过打开语句并直接进行读取 在 Fortran 中如何实现这一点 当人们想了解与外部文件的连接时 可以使用inquire陈述 有两种形式 按卷查询 按单位查询 tom s answ
  • 如何从Windows服务运行exe并在exe进程退出时停止服务?

    我是使用 Windows 服务的完全初学者 我已经为该服务制定了基本框架 目前正在这样做 protected override void OnStart string args base OnStart args Process Start
  • 切换到任何 CPU 配置后,Win 服务项目将无法构建

    我正在尝试找到解决我的问题的方法 将我的 net 4 0 C Win Service 项目更改为 Any CPU Release 构建配置后 我收到以下编译时错误 Cannot specify main if building a modu
  • 动态模块未定义init函数(PyInit_fuzzy)

    我正在使用Python3 4 我正在尝试安装模糊模块 https pypi python org pypi Fuzzy 由于提到它仅适用于 Python2 因此我尝试使用 cython 对其进行转换 这些是我遵循的步骤 cython 模糊
  • 在 C++ 中使用私有函数覆盖公共虚函数

    是否有任何理由使重写的 C 虚函数的权限与基类不同 这样做有危险吗 例如 class base public virtual int foo double 0 class child public base private virtual
  • Chrome扩展中的登录与认证实践

    我正在开发一个 chrome 扩展并尝试实现一种身份验证方法 firebase 我对什么必须去哪里感到困惑 因为 popup html 不允许内联脚本 这使得它变得更加困难 据我所知 有两种选择 从扩展调用外部页面 由我托管 在新选项卡中打
  • 在使用动态的 TryParse 的 if 语句中“使用未分配的局部变量”

    我刚刚在 VS2015 Net v4 5 2 控制台应用程序中输入了以下代码 dynamic fromString blah toString blah2 DateTime fromDate toDate if DateTime TryPa
  • Heroku + Rails 4.2:Cloudfront 设置

    我正在尝试为我的heroku 应用程序设置Cloudfront 文档似乎缺乏独立的立场 以下是我遵循的步骤 1 Setup Cloudfront in AWS console 2 Added cloudfront domain name t
  • Mac 应用程序和 iOS 应用程序之间的蓝牙/WiFi [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 如何制作一个与 iOS 应用程序连接并发送消息的蓝牙 Mac 应用程序 或者通过本地 WiFi 网络与 Mac 应用程序连接的 iOS 应用程序 注意 随着 CoreBlueto
  • BULK INSERT 内部如何工作?

    有人可以解释一下 BULK INSERT 内部是如何工作的以及为什么它比正常的 INSERT 操作快得多吗 问候 希希尔 BULK INSERT 与 SQL Server 的数据库引擎一起在进程内运行 从而避免通过客户端 API 的网络层传
  • Ember.js:控制器之间的数据绑定

    我正在尝试将 ApplicationController 绑定到 IndexController 这是我的jsfiddle 总而言之 这是我在应用程序控制器中的绑定 indexIsClickedBinding App indexContro
  • 如何引用 Visual Studio 项目中用户定义段的开头?

    我正在努力转换与 gnu 工具链的 ld 链接的 C 程序 使其编译为 Visual studio 2005 项目 该程序将 data symbol 放在不同的段中并在 初始化阶段它在段之间复制数据 指向的指针 段的开始和结束在 ld 链接
  • 协议术语:消息与数据包

    在实践中 对于采用更高级别协议 例如 TCP IP 之上的协议 通过网络传输的通信最合适的术语是什么 具体来说 我指的是小的二进制数据单元 我在各种客户端 服务器库中都看到过 消息 和 数据包 但我对社区的共识感兴趣 这些绝对是消息 数据包
  • Pyinstaller 和 Pycrypto

    我们最近将 pycrypto 添加到我们一直在开发的项目中 现在我无法在使用 pyinstaller 构建该软件后运行该软件 我在 pyinstaller 中遇到了新软件包的问题 但我无法特别修复这个问题 我在尝试运行构建的软件时遇到的错误