python使用pyinstaller打包时出现raise ValueError(“Entry points must be listed in groups“)问题解决方法

python使用pyinstaller打包时出现raise ValueError("Entry points must be listed in groups")问题记录

【背景】

这几天使用pyinstaller打包时出现一直出现raise ValueError("Entry points must be listed in groups")的报错提示,报错详情如下,折腾了好几天,参考了很多资料和AI问答,都没搞定。

后面经过多次尝试,终于解决了,记录下解决过程,以备后续使用,也方便后来者。

【报错详情】

Traceback (most recent call last):
  File "d:\python\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "d:\python\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:\Python\Scripts\pyinstaller.exe\__main__.py", line 7, in <module>
  File "d:\python\lib\site-packages\PyInstaller\__main__.py", line 194, in _console_script_run
    run()
  File "d:\python\lib\site-packages\PyInstaller\__main__.py", line 180, in run
    run_build(pyi_config, spec_file, **vars(args))
  File "d:\python\lib\site-packages\PyInstaller\__main__.py", line 61, in run_build
    PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
  File "d:\python\lib\site-packages\PyInstaller\building\build_main.py", line 1019, in main
    build(specfile, distpath, workpath, clean_build)
  File "d:\python\lib\site-packages\PyInstaller\building\build_main.py", line 944, in build
    exec(code, spec_namespace)
  File 
    noarchive=False,
  File "d:\python\lib\site-packages\PyInstaller\building\build_main.py", line 373, in __init__
    self.hookspath += discover_hook_directories()
  File "d:\python\lib\site-packages\PyInstaller\isolated\_parent.py", line 403, in wrapped
    return call(function, *args, **kwargs)
  File "d:\python\lib\site-packages\PyInstaller\isolated\_parent.py", line 372, in call
    return isolated.call(function, *args, **kwargs)
  File "d:\python\lib\site-packages\PyInstaller\isolated\_parent.py", line 302, in call
    raise RuntimeError(f"Child process call to {function.__name__}() failed with:\n" + output)
RuntimeError: Child process call to discover_hook_directories() failed with:
  File "d:\python\lib\site-packages\pkg_resources\__init__.py", line 2936, in get_entry_map
    ep_map = self._ep_map
  File "d:\python\lib\site-packages\pkg_resources\__init__.py", line 2902, in __getattr__
    raise AttributeError(attr)
AttributeError: _ep_map

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "d:\python\lib\site-packages\PyInstaller\isolated\_child.py", line 63, in run_next_command
    output = function(*args, **kwargs)
  File "d:\python\lib\site-packages\PyInstaller\building\build_main.py", line 99, in discover_hook_directories
    entry_points = sorted(entry_points, key=lambda x: x.module_name == "_pyinstaller_hooks_contrib.hooks")
  File "d:\python\lib\site-packages\pkg_resources\__init__.py", line 712, in <genexpr>
    for entry in dist.get_entry_map(group).values()
  File "d:\python\lib\site-packages\pkg_resources\__init__.py", line 2939, in get_entry_map
    self._get_metadata('entry_points.txt'), self
  File "d:\python\lib\site-packages\pkg_resources\__init__.py", line 2606, in parse_map
    raise ValueError("Entry points must be listed in groups")
ValueError: Entry points must be listed in groups

【尝试过程】

1、卸载pyinstaller,并重新安装pyinstaller 5.13.2,无效;

2、尝试将之前备份过的pyinstaller包覆盖替换,无效;

3、尝试降级pyinstaller至最近的三个版本,pip install pyinstaller==5.10,无效;

4、尝试更新打包涉及到的相关包,无效;

【解决方法】

尝试继续降级pyinstaller的版本,成功解决问题:

pip install pyinstaller==4.5

【怀疑】

可能是安装的python版本是3.7版本,太旧了,只能使用比较老版本的pyinstaller,新版本会出现不兼容的情况,后续大家遇到类似的问题,可以参考一下。

  • 18
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

《代码爱好者》

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值