Как получить доступ к файлам данных, указанным в файле setup.py во время выполнения? - PullRequest
0 голосов
/ 22 сентября 2019

Я создал файл setup.py для моего проекта на python, включающий в себя несколько файлов .json во время упаковки моего .egg.Когда я запускаю команду 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, и это, кажется, предпочтительный подход, но я бы предпочел не иметь файл __init__.py в моей папке json-configs по причинам, выходящим за рамки этого вопроса.

Есть ли лучшая практика для чтения в data_files во время исполнения?Разве это не вариант использования для data_files, и я должен действительно использовать package_data с importlib для чтения в файлах ресурсов?Существуют ли другие лучшие альтернативы чтению в файлах ресурсов, к которым нужно обращаться во время выполнения программы на Python?

...