栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【pyinstaller】打包资源(pygame打包成整个exe直接在朋友电脑上跑

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【pyinstaller】打包资源(pygame打包成整个exe直接在朋友电脑上跑

用pygame写个小游戏打算打包,但是如果仅是 pyinstaller -F xxx.py 则在别人的电脑上跑不起来(自己的图像 资源移动时也跑不起来

解决方案:
首先我的资源在同级目录res里,如图

拷贝以下代码段到程序里

def resource_path(relative_path):
    if getattr(sys, 'frozen', False):  # 是否Bundle Resource
        base_path = sys._MEIPASS
    else:
        #base_path = os.path.abspath(".")
        base_path = os.path.dirname(os.path.abspath(__file__))
    return os.path.join(base_path, relative_path)
当需要加载res文件夹下的资源时

```python
pygame.mixer.Sound(resource_path(os.path.join('res','10s.mp3')))

表示加载同级res目录下的 10s.mp3.

接下来执行pyinstaller -F xxx.py,会生成一个build和dist文件夹,删掉它们。(没试过不删行不行

有一个xxx.spec,生成 ,xxx是你py文件名 我这里是ame.spec
打开它 修改以下部分:

再次cmd运行pyinstaller xxx.spec
所有的资源就被打包进最后生成目录下的dist文件夹里的exe了,这样就可以和朋友分享写的游戏啦ww

ps:不想有控制台的话记得把spec这里改成false
以及如果想精致点有icon的话,必须pyinstaller -F xxx.py -i yyy.icon
在pyinstaller xxx.spec -i icon 会报错。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/893619.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号