python3.10版本pyinstaller打包exe出现异常(ImportError: cannot import name ‘MutableSet‘ from ‘collections)解决方案

现在是凌晨12点41分,写完代码先把程序打包成exe文件,终端敲入打包命令

pyinstaller -F main.py

提示以下错误,这个错误是我头一次遇见,各种调试设置都是不行,无奈上网搜随还是找不到,貌似这个问题出现的并不多,我压根找不到靠谱的解决方案,去国外帖子搜随答案也是一筹莫展,唯一找到的一个出现一模一样问题的帖子,但是帖子也没有得到靠谱有利的回答。

(MyVenv) D:\PycharmProjects\love-with-python-master>pyinstaller -f sendlove.py
Traceback (most recent call last):
  File "C:\Program Files\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Program Files\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "D:\PycharmProjects\MyVenv\Scripts\pyinstaller.exe\__main__.py", line 7, in <module>
  File "d:\pycharmprojects\myvenv\lib\site-packages\PyInstaller\__main__.py", line 62, in run
    import PyInstaller.building.build_main
  File "d:\pycharmprojects\myvenv\lib\site-packages\PyInstaller\building\build_main.py", line 33, in <module>
    from ..depend.analysis import initialize_modgraph
  File "d:\pycharmprojects\myvenv\lib\site-packages\PyInstaller\depend\analysis.py", line 45, in <module>
    from ..building.datastruct import TOC
  File "d:\pycharmprojects\myvenv\lib\site-packages\PyInstaller\building\datastruct.py", line 18, in <module>
    from collections import MutableSet
ImportError: cannot import name 'MutableSet' from 'collections' (C:\Program Files\Python310\lib\collections\__init__.py)

接近放弃之时,突然想到了版本问题,我立马检查了库版本得到以下内容。

(MyVenv) D:\PycharmProjects\love-with-python-master>pip list
Package      Version
------------ --------
altgraph     0.16.1  
future       0.16.0  
macholib     1.10    
opencv-proto 0.3.0   
pefile       2018.8.8
Pillow       9.0.1   
pip          22.0.3  
pygame       2.1.2   
PyInstaller  3.3.1   
pypiwin32    223     
pywin32      303     
setuptools   57.0.0  
wheel        0.36.2  

看着pyinstaller 3.3.1版号恍然大悟,最新版本都有4.9了这个版本貌似太落后了,赶紧升级版本尝试能不能修复问题,功夫不负有心人,成功了。打包成功。
总结,解决方案:更新pyinstaller的版本即可

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用PyInstaller打包Python脚本时,有时会出现"ImportError: numpy.core.multiarray failed to import"错误。这个错误通常是由于PyInstaller打包过程中无法正确导入NumPy库的multiarray模块引起的。这可能是由于PyInstaller没有正确处理NumPy库的依赖关系导致的。 解决这个问题有几种方法可以尝试: 方法1: 在.spec文件中添加对NumPy库的引用 通过编辑生成的.spec文件,可以手动添加对NumPy库的引用。在.spec文件的"hiddenimports"部分,添加一行"numpy.core.multiarray",然后重新运行PyInstaller命令进行打包。 方法2: 使用--hidden-import参数指定隐藏的导入 在运行PyInstaller命令时,可以使用--hidden-import参数来指定隐藏的导入。例如,可以运行以下命令: ``` pyinstaller --hidden-import=numpy.core.multiarray your_script.py ``` 方法3: 更新NumPy库 尝试更新NumPy库到最新版本,有时这可以解决导入错误的问题。可以使用以下命令升级NumPy库: ``` pip install --upgrade numpy ``` 方法4: 检查环境变量和路径设置 确保您的环境变量和路径设置正确,以便Python可以找到正确的NumPy库。检查您的Python环境变量和路径设置,并确保它们指向正确的NumPy库的位置。 根据您的具体情况,尝试以上几种方法中的一种或多种,应该可以解决"ImportError: numpy.core.multiarray failed to import"错误。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [ImportError: numpy.core.multiarray failed to import [cv2, matplotlib, PyTorch, pyinstaller ]](https://blog.csdn.net/zhongkeyuanchongqing/article/details/126217893)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [报错ImportError: numpy.core.multiarray failed to import in cv2 / matplotlib / pyinstaller / pytorch](https://blog.csdn.net/weixin_46378710/article/details/127336185)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值