python 在有openpyxl的时候pyinstaller 不成功!求助大佬

weixin_41940770 2018-04-05 08:16:39
我的python3.6.4,用的pyinstaller3.3.1,写了一个小程序处理excel的,在编译器里可以跑的很好,但我想打包成exe给别人用,于是用了pyinstaller,但是发现一个问题,只要存在openpyxl,打包就不成功,提示maximum recursion depth exceeded。求解!大佬帮忙看一下。

C:\Users\James>pyinstaller -makespec --onefile C:\Users\James\.spyder-py3\temp.py
296 INFO: PyInstaller: 3.3.1
296 INFO: Python: 3.6.4
296 INFO: Platform: Windows-10-10.0.16299-SP0
296 INFO: wrote C:\Users\James\temp.spec
312 INFO: UPX is not available.
312 INFO: Extending PYTHONPATH with paths
['C:\\Users\\James\\.spyder-py3', 'C:\\Users\\James']
312 INFO: checking Analysis
312 INFO: Building Analysis because out00-Analysis.toc is non existent
312 INFO: Initializing module dependency graph...
312 INFO: Initializing module graph hooks...
312 INFO: Analyzing base_library.zip ...
3906 INFO: running Analysis out00-Analysis.toc
3906 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executable
required by d:\anaconda3\python.exe
4547 INFO: Caching module hooks...
4547 INFO: Analyzing C:\Users\James\.spyder-py3\temp.py
6219 INFO: Processing pre-find module path hook distutils
7063 INFO: Processing pre-find module path hook site
7063 INFO: site: retargeting to fake-dir 'd:\\anaconda3\\lib\\site-packages\\PyInstaller\\fake-modules'
12492 INFO: Processing pre-safe import module hook six.moves
19306 INFO: Processing pre-safe import module hook urllib3.packages.six.moves
32995 INFO: Processing pre-safe import module hook win32com
Traceback (most recent call last):
File "d:\anaconda3\lib\site-packages\pkg_resources\_vendor\packaging\version.py", line 31, in parse
return Version(version)
File "d:\anaconda3\lib\site-packages\pkg_resources\_vendor\packaging\version.py", line 202, in __init__
raise InvalidVersion("Invalid version: '{0}'".format(version))
pkg_resources.extern.packaging.version.InvalidVersion: Invalid version: 'alabaster'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "d:\anaconda3\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "d:\anaconda3\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)



File "d:\anaconda3\lib\site-packages\pkg_resources\_vendor\packaging\version.py", line 141, in _legacy_cmpkey
for part in _parse_version_parts(version.lower()):
RecursionError: maximum recursion depth exceeded

...全文
2275 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_27917863 2018-05-17
  • 打赏
  • 举报
回复
看了下pyinstaller,3.3.1版本的测试用的是openpyxl2.3.4,我自己测试了下最多到openpyxl2.3.5,打包没有问题,2.4版本以上就会报递归层数太深的错,就需要改递归层数限制了,不知道pyinstaller下个版本会不会支持openpyxl2.4以上版本
qq_27917863 2018-05-17
  • 打赏
  • 举报
回复
打包虽然失败了,但是中间会生成一个xxxxxx.spec的文件(xxxxxx是要打包的py程序名),和dist文件夹同一个目录,打开这个文件,在头上加上 import sys sys.setrecursionlimit(1000000) 这个是加大递归层数的,有没有危害不知道。。。 再自行pyinstaller xxxxxx.spec,这样就能打包成功了。
陈年椰子 2018-04-08
  • 打赏
  • 举报
回复
我的是 python 2.7.13 PyInstaller==3.2.1 openpyxl==2.4.9 用这个命令打包exe运行正常。 pyinstaller -F main.py --noconsole
oyljerry 2018-04-06
  • 打赏
  • 举报
回复
递归层数太深了。导致出错

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧