python - py2exe 将 json 文件添加到 library.zip 或更改脚本以从指定位置加载文件
问题描述
我正在尝试使用pygame创建一个简单的游戏,现在它的大部分都已经过测试,我想将它打包成一个可执行文件以允许其他人进行测试。
目前我的问题是我有脚本正在加载的 json 配置文件,这个 json 文件是关卡、地形、项目等的配置。它与open
函数一起加载,然后传递给json.load
函数。
terrain_file = open(f'../terrain.json',)
terrain = json.load(terrain_file)
通过命令行/终端运行游戏时,此代码有效。但是,当我尝试使用 py2exe 创建可执行文件时,此脚本似乎会在library.zip
. 我当前的 py2exe 设置如下:
from distutils.core import setup
import py2exe
import os
import glob, fnmatch
game_dir = os.path.dirname(os.path.realpath(__file__))
extra_files = [('.',['terrain.json','game.json'])]
setup(version='0.0.1', name='Simple Game', windows=[{'script':'game.py'}],data_files=extra_files, options={'py2exe':{'optimize':2,'skip_archive':True,'bundle_files':2}})
这会将我的 json 文件复制到 dist 文件夹中,但可执行文件仍在寻找 library.zip 中的文件
关于如何更改脚本以使其不在 library.zip 中查找或将 json 文件包含到 library.zip 中的任何建议
解决方案
推荐阅读
- python - 在python中一次计算和生成多个标准差列但不是以固定的累积顺序
- homebrew - 返回dbt 19.1版本
- python - pdf抓取后拆分列
- r - RMarkdown 在渲染时不会将 $\overline{x}、\bar{y} 转换为符号
- javascript - 邮递员 - 无法在集合级别测试脚本中运行 pm.sendRequest()
- react-native - 使用命令 react-native init BarcodeProject 创建项目时出错
- node.js - 如何使 CAN 总线在 docker 容器内运行?
- python - 如何分离数据集以验证 CNN?
- terminal - 如何从 Fish 终端删除插入模式
- python - 如何使用 Python 以 JSON 文件格式将 HTTP API 上传到 AWS S3 存储桶?