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



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

终端内:

C:UsersmeAnaconda3Scripts>jupyter nbconvert --to script MyFile.ipynb

输出:

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

然后我去:

C:UsersmeAnaconda3Scripts>pyinstaller --onefile MyFile.py

然后我得到:

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

这是我现在的终点,我可以弄清楚。我找到了关于添加路径等的信息,但我真的不明白该怎么办?

历史是这样的,我第一次得到"最大递归深度超过错误"。我试图通过修改规范文件来解决这个问题:

import sys
sys.setrecursionlimit(5000)

然后我运行了C:\Users\me\Anaconda3\Scripts>pyinstaller--又是一个文件MyFile.py',运气不好。规范文件被重写。

然后我运行了"pyinstaller MyFile.spec",但没有成功。

然后我在某个地方发现openpyxl的版本可能是问题所在,于是我卸载了当前版本,并安装了openpyxl2.3.5。然后我删除了我的.py文件,为了安全起见,我重新开始。完成此操作后,我得到了上面的"ImportError:无法加载模块属性"错误。

看起来我一直在努力获得一个exe文件,但它肯定不像一些论坛希望的那样容易。

我做错了什么?如何改进我的整体代码/设置以达到功能性exe文件的目标?我使用的是windows,exe文件的用户将基于windows。

谢谢!

我遇到了类似的问题,对我来说,这是我的matplotlib版本的原因。matplotlib版本3.3.x目前似乎有一个已知的错误。降级到3.1.2修复了我的问题。此外,如果您正在使用Anaconda Navigator,我建议您创建一个专用的Python环境,专门用于打包脚本。

相关内容

最新更新