Найти файлы данных в колесе python3

. Я упаковываю колесо, которое включает файлы данных, и мне нужно получить их путь.

Я успешно добавил файлы в проект, используя:

setup.py file:
    from setuptools import setup
    setup(..., 
          data_files=[('data', glob('data/**'))],
          ...)

$ python3 setup.py bdist_wheel

Это дает мне колесо, которое (в распакованном виде) выглядит так:

my_project-0.0.0-py3-none-any.whl
├── my_project
│   ├── __init__.py
│   ├── awesome_feature.py
├── my_project-0.0.0.data
│   ├── data
│   │   ├── config.txt
│   │   ├── important_params.csv
│   │   ├── large_data_blob.dat

Как я могу надежно найти файлы данных в этом проекте?

В частности, проекты, которые зависят от my_project, должны будут использовать эти файлы, и мне нужен способ найти путь к папке data и вернуть его в проекты, которые зависят от my_project.

РЕДАКТИРОВАТЬ: Я попытался найти данные с помощью pkg_resources, но мне не повезло. После pip3 install my_project-0.0.0.whl никакие данные, которые были в колесе, похоже, не находятся в установленном пакете (судя по использованию диска).

Я включил функцию:

def get_data_path():
    import pkg_resources
    return pkg_resources.resource_filename('my_project', 'data')

Возвращаемый путь: /usr/local/lib/python3.4/dist-packages/my_project/data, но этот путь не существует?

Возможный дубликат Данные доступа Python в подкаталоге пакета

phd 11.04.2018 15:41

См. Ответы по поводу pkg_resources.

phd 11.04.2018 15:42
0
2
489
0

Другие вопросы по теме