使用pyinstall创建exe文件时出错,最后一个错误:'ImportError:无法加载模块属性'

问题描述

我有一个简单的.ipynb,它从一个Excel文件中读取一个值,然后将其打印到另一个Excel文件中的单元格中。我使用'jupyter nbconvert-编写MyFile.ipynb脚本来生成.py文件。这有效,没有错误。 .py文件已创建。

在终端中:

C:\Users\me\Anaconda3\Scripts>jupyter nbconvert --to script MyFile.ipynb

输出:

[NbConvertApp] Converting notebook MyFile.ipynb to script
[NbConvertApp] Writing 1034 bytes to MyFile.py

然后我去

C:\Users\me\Anaconda3\Scripts>pyinstaller --onefile MyFile.py

然后我得到:

raise ImportError('Unable to load module attribute') from e
ImportError: Unable to load module attribute

这是我现在的出发点,我可以弄清楚。我找到有关添加路径等的信息,但我真的不知道该怎么办?

历史是这样的,我首先遇到了“最大递归深度超出错误”。我试图通过更改spec文件来解决此问题:

import sys
sys.setrecursionlimit(5000)

然后我再次运行-C:\ Users \ me \ Anaconda3 \ Scripts> pyinstaller --onefile MyFile.py',但是没有运气。规格文件已被覆盖。

然后我运行了'pyinstaller MyFile.spec',这没有用。

然后我发现某个地方可能是openpyxl的版本,然后卸载了当前版本,并安装了openpyxl 2.3.5。然后,我删除了我的.py文件,并开始进行安全检查。完成此操作后,出现上述“导入错误:无法加载模块属性”错误。

看来我一直在朝着最终获得exe文件的方向迈进,但这肯定不像某些论坛所希望的那样容易。

我在做什么错?如何改善我的整体代码/设置以实现功能exe文件的目标?我使用的是Windows,exe文件的用户将基于Windows。

谢谢!

解决方法

我遇到了类似的问题,对我来说,我的matplotlib版本是由我引起的。 matplotlib版本3.3.x当前似乎存在一个已知错误。降级到3.1.2解决了我的问题。另外,如果您使用的是Anaconda Navigator,我建议您创建一个专用的Python环境,专门用于打包脚本。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...