从使用 pyinstaller 导入 theano 的 python 3 脚本构建适用于 Windows 的 .exe

2023-12-27

2017年9月2日下午1点编辑

经过多次尝试后,我最终成功地用 pyinstaller 构建了一个 .exe。

不幸的是,我未能处理“theano”模块(在我的情况下是“pymc3”模块所需的),我不得不修改 .py 文件并放弃部分应用程序。我下面的描述有两个目的:首先它可能有帮助;第二任何人都可以帮助我使用“theano”模块构建适用于 Windows 7+ 的 .exe 吗?

提醒:我的 python 3 脚本在“.ui”文件中打开一个用 Qt Designer 制作的简单 GUI,并导入 pyqtgraph(使用 pyqt5)、pymc3(以及 pymc3 所需的 theano)、scipy、numpy、os、sys。它将在运行 Windows 7+ 的计算机上分发。我尝试用 py2exe、cx_freeze、pynsist 和 pyinstaller 构建一个“.exe”(我打开并更新了几篇文章,这个仍然是打开的:从导入 pyqtgraph 并打开 GUI 的 python 3 脚本构建适用于 Windows 的 .exe https://stackoverflow.com/questions/45734926/build-a-exe-for-windows-from-a-python-3-script-importing-pyqtgraph-and-opening)但都失败了。在我不得不放弃 theano 后,我的最佳结果(使用 pyinstaller)如下所述。

  • 我最终得到的命令行是:pyinstaller —noupx —onefile —add-data “toto.ui;.” toto.py。但奇怪的是:

1 不包含 qt 设计器文件“toto.ui”,必须与 .exe 一起分发。否则,运行 .exe 时会出现错误消息,提示找不到 toto.ui;

2 python环境的“Library/plugin”目录中的“platforms”目录也必须与.exe一起分发。否则,运行 .exe 时会出现错误消息“此应用程序无法启动,因为找不到 qt” 平台插件 windows’(但构建时 pyinstaller 没有错误消息!)

3.exe有220MB大!似乎 pyinstaller 在构建过程中包含了一堆无用的东西。

  • pyqtgraph问题:

乍一看,模块“pyqtgraph”似乎与 pyinstaller 不兼容。事实上,当python代码导入pyqtgraph时,pyinstaller给出了一个SyntaxError:‘yield’ inside async function。在我看来,这似乎很尴尬(这是 pyinstaller 中的错误吗?)因为我从论坛上得到的印象是,这与仅与 python 3.6 兼容的异步生成器有关,而 pyinstaller 仅适用于与异步不兼容的 python 3.5生成器...那么为什么 pyinstaller 使用这个呢?事实证明,这个类似 bug 的功能在未发布的新版本 pyinstaller 中被禁用(因此默认情况下未安装):pip install git+https://github.com/pyinstaller/pyinstaller,感谢 9dogs(在评论中)。我还发现在 py 文件中导入 pyqtgraph 之前显式写入 os.environ['PYQTGRAPH_QT_LIB'] = 'PyQt5' 或 'PyQt4' 可能会有所帮助

  • 理论问题:

事实证明,theano 进行了几个 pyinstaller 未检测到的隐式导入。因此,构建看起来不错,但在运行 .exe 时,您会收到诸如“no module theano.tensor.shared_randomstreams”之类的错误消息。不幸的是,我未能使用 pyinstaller 的 '--hidden-import' 选项,因此我在 py 文件中显式添加了导入(在本例中为 'import theano.tensor.shared_randomstreams' )。

但这还不是结束:之后,文件‘…\AppData\Local\Temp_MEI35682\theano\gpuarray\blockgemv.c’丢失,导致[4128] Failed to execute script。我不知道这个文件是什么,也没有找到信息。我放弃并删除了部分 GUI 以避免 theano。任何人都可以帮助我使用 theano 和 pyinstaller 吗?


None

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

从使用 pyinstaller 导入 theano 的 python 3 脚本构建适用于 Windows 的 .exe 的相关文章

  • 如何将CString转换为整数和浮点数? [复制]

    这个问题在这里已经有答案了 我正在尝试转换CStringint 和 float 但无法找到任何 C 库函数来完成此操作 请帮忙 正确的UNICODE 符合规定的方式MFC如下 CString sInt T 10 int n ttoi sIn
  • C++串口问题

    我在 Visual Studio 上使用 C 连接到任何串行端口 想要与 Arduino 交换 时遇到问题 我正在使用串行类 http www arduino cc playground Interfacing CPPWindows在 Ar
  • 使用 imaplib 库连接到电子邮件时遇到 AUTHENTICATIONFAILED 错误

    如何连接到 imaplib 库而不遇到 AUTHENTICATIONFAILE 错误 通过网络浏览器登录时 我的 Gmail 收件箱显示严重的安全警报 登录尝试被阻止 IMAP SERVER imap gmail com USERNAME
  • 无法在 VS Code 中导入

    我是 python 新手 一直在使用 VS code 现在我正在研究汤普森采样问题 需要 numpy 和 matplotlib 我已经导入了这两个库 但 VS code 给出了无法导入的错误 我知道我必须使用 PIP 进行安装 并且我已经看
  • 避免 Python 3 的多处理队列中的竞争条件

    我正在尝试找到大约 61 亿 自定义 物品的最大重量 并且我想通过并行处理来完成此操作 对于我的特定应用程序 有更好的算法不需要我迭代超过 61 亿个项目 但解释它们的教科书超出了我的能力范围 我的老板希望在 4 天内完成此任务 我认为我公
  • 在 Jenkins 中执行批处理文件

    我有一个简单的批处理文件 我想要从 Jenkins 调用 运行 执行该文件 Jenkins 中有同样的插件吗 如何从 Jenkins 执行批处理文件 如果有相同的教程或文档 无需为此添加新插件 在Jenkins 选择您的工作名称并转到配置部
  • Python3.5 BeautifulSoup4从div中的'p'获取文本

    我试图从 div 类 caselawcontent searchable content 中提取所有文本 此代码仅打印 HTML 不打印网页中的文本 我缺少什么来获取文本 以下链接位于 finteredcasesdoc text 文件中 h
  • 如何在 PowerShell 中键入 TAB 字符?

    Task 默认情况下 在 Windows 命令提示符中按 TAB 键将输出文件名 而在 PowerShell 中则不会执行任何操作 我希望能够在交互模式下键入 TAB 字符 而不是通过脚本 Research 我在这个网站上和通过谷歌搜索发现
  • 在 Windows 2008 上将 myprogram.exe 作为服务运行时出现问题

    MyProgram exe 是用来侦听来自管道的请求并使用命令提示符使其工作完美 但我尝试使用 Windows 服务来工作但没有成功我在 Windows Server 2008 Enterprise 上尝试了以下步骤 gt sc creat
  • 导入错误 - 发生了什么?

    Python 导入 再次 我有这个文件结构 test start py from scripts import main scripts init py empty main py from import install install p
  • Pandas:如何根据另一个数据框的值对数据框上的列求和

    我是 Pandas 新手 我正在尝试做以下事情 我有一个名为的数据框comms包含articleID和commentScore列 等等 我有另一个名为arts带有列文章 ID 我需要创建arts一个名为文章评分 每篇文章必须具有articl
  • 为什么 cygwin 无法读取我的主目录中的 .ssh/config 文件?

    我正在使用 cygwin 并且正在尝试设置 ssh config 文件 Cygwin 的文件夹位于我的 C 驱动器中 我的主目录是 C Users USER 我注意到 当我编辑 C Users USER ssh config 时 cygwi
  • Python Pandas:沿一列比较两个数据帧,并返回另一个数据帧中两个数据帧的行内容

    我正在处理两个 csv 文件并作为数据框 df1 和 df2 导入 df1 有 50000 行 df2 有 150000 行 我想将 df2 的 时间 与 df1 求时间差并返回所有列的值 对应相似的行 保存在df3中 时间同步 例如 35
  • 如何使用 win32com.client api 访问 MS Word 的脚注

    我正在尝试使用 win32com client api 访问 MS Word 文件的脚注 我已经用谷歌搜索过 但没能找到合适的方法 我使用 python docx 来实现上述目的 但我发现当前版本的 python docx 无法访问 MS
  • Python for 循环仅返回字典的最后一个值

    我正在尝试在 python 中创建一个带有 xyz 坐标的 json 转储 但是我用来遍历不同组的 for 循环仅返回最后一个组 self group strings CHIN L EYE BROW R EYE BROW L EYE R E
  • 导入错误:无法导入名称线程

    这是我第一次学习Python 我继续尝试线程这篇博文 http www saltycrane com blog 2008 09 simplistic python thread example 问题是它似乎已经过时了 import time
  • 如何更改选项卡控件的名称

    我在 C WinForms 应用程序中使用选项卡控件 我想更改选项卡的标题 默认情况下它们是 tabPage1 tabPage2 等 一种无需代码即可实现的懒惰方法 选择选项卡控件 Go to properties use F4 to do
  • 以编程方式最小化/恢复窗口,跳过动画效果

    我需要对窗口列表执行多项操作 最小化其中一些 恢复其他 以便立即在两组或多组窗口之间切换 这样做的问题是最小化和恢复窗口时可以看到的动画 整个过程看起来很糟糕 所有这些动画都进进出出 上下移动 但是 我无法禁用这些动画 因为这是针对其他计算
  • 移动/调整窗口大小时闪烁

    我开发了一个显示 jpeg 图像的应用程序 它可以显示 4 个图像 屏幕的每个象限各一个 为此 它使用了 4 个窗口 窗口没有边框 框架 也没有标题栏 当加载新图像时 窗口大小会根据新图像进行调整 然后显示该图像 尤其是当窗户做得较大时 经
  • 如何解决内存碎片

    我们偶尔会遇到这样的问题 长时间运行的服务器进程 在 Windows Server 2003 上运行 由于内存分配失败而引发异常 我们怀疑这些分配由于内存碎片而失败 因此 我们一直在寻找一些可能对我们有帮助的替代内存分配机制 我希望有人能告

随机推荐

  • 在python中用字符串打印偶数字符

    s Abrakadabra for k in len s if k 2 1 print s k 这段代码不起作用 问题出在哪里 您正在尝试迭代 int len s 我认为你只是错过了range功能 s Abrakadabra for k i
  • NSTextFieldCell 垂直对齐,解决方案似乎挤压了水平对齐

    我有一个 NSTextFieldCell 我希望以中间垂直对齐方式显示 感谢这里的一个旧问题和一篇博客文章 我有两个可行的解决方案 然而 这两种解决方案似乎都削弱了我将单元格设置为右对齐的能力 谁能帮助我使这些解决方案中的任何一个都支持两种
  • JIRA:查找我上周记录的所有工作

    我如何创建一个 JIRA 过滤器来列出我遇到的所有问题 记录时间 然后我可以将其应用到活动流 通过 JQL 使用高级搜索 worklogAuthor currentUser AND worklogDate gt 2016 12 01 AND
  • 如何用python打开mp4文件?

    我试图制作一个使用默认 Windows 应用程序播放电影的脚本 但是当我尝试运行此脚本时 出现错误 强制转换为 Unicode 需要字符串或缓冲区 找到函数 我应该如何进行 import os print Push enter to pla
  • 使用 VBA 解析 JSON (Access 2010)

    我需要使用下面的 JSON 文件更新 MS Access 中的货币表 timestamp 1465843806 base CAD rates AED 2 87198141 AFN 54 21812828 ALL 95 86530071 AM
  • 如何向 Android 原生“编辑文本”上下文菜单添加选项

    是否可以将某些内容添加到用户长按任何编辑文本时显示的项目列表中 剪切 复制粘贴 选择文本 全选 输入法 我想在此菜单中添加另一个选项 但无法弄清楚 这个问题有重复的here https stackoverflow com questions
  • 如何防止用户更改系统日期/时间(在 Android 中)?

    我用谷歌搜索过 但我找不到任何建议来阻止用户更改 android 中的系统日期 时间 我们正在开发一个企业应用程序 我们希望阻止设备的用户能够设置时间设置 换句话说 我们想要设置一个策略来定义用户不能更改 Android 设备中的日期和时间
  • 安装的Python脚本无法导入包模块

    我创建了一个具有以下目录结构的 Python 包 LICENSE MANIFEST IN README rst VERSION docs multitool init py core init py classes py utils py
  • 从 Visual Studio 2017 在 Chrome 中调试网站时启用扩展

    从 Visual Studio 2015 切换到 2017 我发现启动 Web API 项目现在会启动一个干净 独立的 Chrome 窗口 在很大程度上我喜欢这样 而且我当然喜欢这个想法 但是 这也意味着Chrome 中缺少扩展程序 有没有
  • 限制 GWT 中的小数位数?

    在纯 Java 中 我通常会使用如下所示的函数来将小数位数限制为decimalCount对于给定的数字value 但是 根据 GWT 文档 GWT 不提供对日期和数字格式化类 例如 java text DateFormat java tex
  • 如何在Python 3.6中等待声音文件以vlc结尾

    我在 python 中的 vlc 有一个问题 import vlc sound vlc MediaPlayer sound mp3 sound play i wanna wait until the sound ends then do s
  • Java:没有 AtomicFloat 或 AtomicDouble 吗?

    我已经发现AtomicInteger AtomicLong 但是在哪里AtomicFloat or AtomicDouble 也许有什么技巧 API 文档为java util concurrent package http download
  • 在多租户数据库中索引 TenantID

    我正在为应用程序创建多租户数据库 我在每个表方法中都使用了 TenantID 效果非常好 我正处于性能调整阶段 我的问题是 每个表中的每个 TenantID 是否都应该建立索引以进行优化搜索 因为数据库上的每个查询都会在此列上进行过滤 期待
  • 在node.js中重新定义变量

    该脚本的执行 tmp js 其中包含 var parameters 1 eval var parameters a 1 1 eval console log parameters node tmp js 产生 如果我们注释掉第一条语句 并再
  • 使用.NET Moq时如何转发到另一个对象?

    给定一个对象 我想创建一个模拟 它实现该对象的接口并模拟一个方法 但将其余方法转发给真实对象 不是基类 例如 ISqlUtil sqlUtil GetTheRealSqlUtilObjectSomehow var mock new Mock
  • 如何获得更多的饲料项目?

    如何获取 Feed 的下一页或更多结果 例如 当我去现在安全 http leoville tv podcasts sn xmlfeed 页面 没有任何类型的 下一个 链接 并且 page 100 的 url 参数不执行任何操作 http l
  • 权限如何在 mac 上运行 sbin 命令?

    我正在使用 mac os x 并且我正在尝试运行shutdown命令但它说我不是超级用户 不过 我可以跑ifconfig无需成为超级用户 这两个命令都在 sbin 中 我的 PATH 环境变量包括 sbin 这就是为什么我可以运行 ifco
  • Mathf.Floor 与 (int) 的性能比较

    当我想知道哪个更快时 我正在创建和翻译一些算法 a int float or b Mathf FloorToInt float 提前致谢 编辑 如果有比这两种方法更快的方法 那也会有帮助 像我提到的那样用秒表进行测试 这个答案在这里是因为我
  • 查询外键嵌套for循环django

    我正在尝试返回企业的类别列表 对于每个类别 我想列出与该类别相关的所有项目 我要退回所有物品 而不是按类别 但我决定要按类别对它们进行排序 这就是我所尝试过的 以及其他尝试 我只是无法将这些项目归入这些类别 这是我最新的尝试 在我的 mod
  • 从使用 pyinstaller 导入 theano 的 python 3 脚本构建适用于 Windows 的 .exe

    2017年9月2日下午1点编辑 经过多次尝试后 我最终成功地用 pyinstaller 构建了一个 exe 不幸的是 我未能处理 theano 模块 在我的情况下是 pymc3 模块所需的 我不得不修改 py 文件并放弃部分应用程序 我下面