关于speedtest打包成exe报错

打包出来的exe无法执行,请问如何修复呢
用pyinstaller -F -c或者 pyinstaller -F打包是没问题,但是会弹出一个cmd的窗,看着难受


from speedtest import Speedtest

speed_test = Speedtest()
download_speed = speed_test.download()
upload_speed = speed_test.upload()
download_speed = download_speed/1024/1024
upload_speed = upload_speed/1024/1024
print(f"你的下载速度是{download_speed}")
upload_speed = speed_test.upload()
print(f"你的上传速度是{upload_speed}")

img

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/767242
  • 这篇博客也不错, 你可以看下学习笔记 | PyInstaller 使用教程——用pyinstaller打包exe应用程序【建议收藏!】
  • 以下回答由chatgpt基于相关博客总结生成:

    针对这个问题,可以尝试以下解决方案:

    1. 确认是否缺少依赖文件。如果在执行exe文件时出现错误,可能是因为打包时没有将必要的依赖文件打包进去。可以通过以下方式来确认:

    在cmd中执行打包命令时,加上--debug all参数,打包完成后会生成一个build_stats.txt文件,可以在文件中查找是否有缺失依赖的信息。

    如果发现缺少依赖文件,可以使用命令pyinstaller -F --add-data "依赖文件路径;."来打包,将依赖文件一起打包到exe文件中。

    1. 确认是否需要添加hiddenimports。一些依赖文件可能不会被自动识别,需要手动添加到hiddenimports中。可以通过以下方式来确认:

    在cmd中执行打包命令时,加上--debug all参数,打包完成后会生成一个build_stats.txt文件,可以在文件中查找是否有未被识别的模块。

    如果有未被识别的模块,可以使用命令pyinstaller -F --hidden-import=模块名来打包,将未被识别的模块添加到hiddenimports中。

    1. 去掉cmd窗口。使用命令pyinstaller -F -w可以在打包时去掉cmd窗口。

    综上所述,可以尝试以下命令来解决该问题:

    pyinstaller -F --add-data "依赖文件路径;." --hidden-import=模块名 -w 文件名.py