py2app 访问非 python 文件

py2app access non-python files

目前我正在开发一个 python 项目(独立应用程序),它将使用一些 非python 代码(js/html ).此代码已存在于目录中,因此应包含在 py2app 应用程序中。我尝试了不同的方法来保存这些文件,以便我可以在运行时在独立应用程序中访问它们。

对于setup.py我使用如下配置

from setuptools import setup

APP = ['main.py']
DATA_FILES = []
OPTIONS = {}

setup(
    app=APP,
    data_files=DATA_FILES,
    include_package_data=True,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)

include_package_data=True 目录中的所有文件都将被复制到独立应用程序。

├── main.py
├── setup.py
└── writer
    ├── __init__.py
    ├── data
    │   ├── extra_data
    │   │   ├── content.txt
    │   │   └── nested_folder
    │   │       └── content.txt
    │   └── extra_data.zip
    └── fileManager.py

最后我想访问data/extra_data中的文件。 事实证明我无法访问这些文件,因为它们被捆绑在 python39.zip.

有什么方法可以访问包中的这些文件吗?或者是通过 DATA_FILES 包含存档并在运行时解压缩以访问文件的唯一方法吗?

https://py2app.readthedocs.io/en/latest/options.html#option-reference 列出 py2app 特定的配置选项。

在您的情况下,使用“资源”选项会有所帮助,这将复制应用程序 Resources 文件夹中的文件。