使用pyinstaller将py文件打包成exe注意事项及报错TypeError: _get_sysconfigdata_name() missing 1...‘check_exists‘的解决办法

  使用pyinstaller,我们可以很方便地将py文件打包成exe。打包命令为:

pyinstaller -F -w xxx.py

  其中:
-F参数表示将所有内容全部打包成一个exe可执行文件,而不会有其它的一些奇奇怪怪的小依赖文件。
-w参数表示运行生成的exe文件时,不会弹出命令行窗口,而是直接弹出我们做的GUI。如果没加这个参数的话,在打开生成的exe文件时,会同时弹出一个如下所示的命令行窗口,冗余且不美观:

在这里插入图片描述
  
  在打包的时候,有一些问题需要注意一下:
  

1 生成的exe文件过大

  这是因为pyinstall在打包时候,会将当前环境下一些没用上的库也给打包起来,这样就导致生成的exe文件过大(轻轻松松几百M)。解决方法就是,可以使用anaconda或者pipenv新建一个虚拟环境,然后在该环境下只安装所依赖的库,然后运行打包命令,这样生成的exe就会小很多(可以减小为几M几十M)。具体可以参考Pyinstaller打包,文件太大了怎么办?
  
此外,在代码里面尽量不要用import,能from…import…就尽量用这个,因为如果是import的话,在打包的时候,会将整个包都打包到exe里面,没有意义的增大了工具的大小!参考pyinstaller参数介绍以及总结

2 报错TypeError: _get_sysconfigdata_name() missing 1 required positional argument: ‘check_exists’

  这个错误的解决方法是,进入python命令行模式,然后依次执行如下两行命令:

import sysconfig
print(sysconfig.__file__)

  执行后你可以获得sysconfig.py这个文件的路径,打开它,然后找到里面的_get_sysconfigdata_name函数,将其中的check_exists参数默认值设置为True。即_get_sysconfigdata_name(check_exists=True)。然后保存,再去运行打包命令,就可以了。参考通过终端使用Pyinstaller编译python脚本

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

zeeq_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值