Windows上用Pyinstaller打包带有媒体文件的Pygame项目的注意事项

一、问题描述

之前只用pyinstaller打包过tkinter项目,很顺利,这次打包pygame就出了问题。打包出的exe文件双击后闪退,为了看到错误消息,我取消了-w选项,于是就在控制台看到了以下消息:

可以看到,无法找到我的字体文件。其实不止是字体文件,我游戏中的背景音乐和音效都找不到。这是因为打包的时候没有指定添加媒体文件。

二、解决方法

pyinstaller提供了--add-data选项来手动添加要一并打包的文件,这个选项可以多次使用。比如,有一个游戏项目的目录结构如下:

>chess
    >music
        bg.mp3
        gameover.wav
        win.wav
    >font
        msyh.ttf
    main.py
    board.py
    piece.py

 我们就要在cmd里cd到chess目录,打包时指定的文件是main.py主程序,并且要把所有的音频和字体文件添加进来。指令如下:

pyinstaller -F -w --add-data "music/*.mp3;./music" --add-data "music/*.wav;./music" --add-data "font/*.ttf;./font"  main.py

几点说明:

  1. *是通配符,表示music文件夹里所有的mp3文件、所有的wav文件还有font文件夹里的所有ttf文件都要添加进去
  2. 要使用双引号
  3. windows系统要使用分号作为文件原本的路径和要存放的路径的分隔符,这一点和linux系统不一样,linux系统使用冒号
  4.  要存放的路径 ./music表示最外层目录下的music目录

 

 

如果这篇博文帮到了你,就请给我点个吧(#^.^#)

有疑问也欢迎留言~博主可nice啦,在线秒回ヾ(◍°∇°◍)ノ゙

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值