【发布时间】:2019-09-22 10:54:01
【问题描述】:
我为我的 python 项目创建了一个 setup.py,在打包我的 .egg 期间包含许多 .json 文件。当我运行命令python setup.py install 时,我可以在输出中看到.egg 本身,.json 包含在包装中。
这是我的 setup.py
setup(name='exmaple',
version='0.0.1',
author='nc',
description='TBD',
long_description=open('README.md').read(),
packages=find_packages(exclude=['tests', 'examples']),
data_files=[('json-configs', glob('json-configs/*.json'))],
python_requires='~=3.0',
install_requires=[
'importlib_resources==1.0.2'
]
)
我遇到的问题是如何在我的 python 应用程序运行时适当地访问这些文件。 .json 文件是需要在运行时读取的配置,如果执行了适当的类。我已经阅读了很多关于package_data 的内容,这似乎是首选方法,但我强烈希望在我的json-configs 文件夹中没有__init__.py 文件,原因超出了这个问题的范围。
在执行期间阅读data_files 是否有最佳实践?这不是data_files 的用例吗,我真的应该只使用package_data 和importlib 来读取资源文件吗?是否有其他更好的替代方法来读取在执行 python 程序期间需要访问的资源文件?
【问题讨论】:
标签: python python-3.x setuptools