Как включить и получить доступ к файлам данных в дистрибутиве Python? - PullRequest
0 голосов
/ 03 октября 2018

Я хочу создать распространяемый пакет Python.Для этого я организовал свои каталоги следующим образом:

.
├── config
│   └── test.yml
├── MANIFEST.in
├── sample
│   ├── hello.py
│   ├── __init__.py
│   └── world
│       ├── __init__.py
│       └── refer.py
└── setup.py

MANIFEST.in содержит только одну строку:

graft config

setup.py выглядит следующим образом:

from setuptools import setup

setup(
    name='sample',
    version='1.0',
    packages=[
        'sample',
        'sample.world'
    ],
    include_package_data=True
)

Однако после запуска pip install . я получаю следующее содержимое целевого каталога:

.
./__pycache__
./__pycache__/__init__.cpython-36.pyc
./__pycache__/hello.cpython-36.pyc
./world
./world/__pycache__
./world/__pycache__/__init__.cpython-36.pyc
./world/__pycache__/refer.cpython-36.pyc
./world/refer.py
./world/__init__.py
./hello.py
./__init__.py

Хотя я ожидаю, что там будет config вместе с файлом YAMLсодержит.Что я делаю неправильно?Спасибо!

1 Ответ

0 голосов
/ 03 октября 2018

Ниже приведен пример setup.py , содержащий файл данных и ссылку, чтобы найти его.

from setuptools import setup

setup(...
      packages=find_packages(),
      package_data={'': ['config/*.yml'],
                    },
...)

setup tools doc

...