Setuptools: включить подкаталоги в package_data - PullRequest
1 голос
/ 17 июня 2019

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

setup.py
src/
    mypkg/
        __init__.py
        module.py
        data/
            tables.dat
            spoons.dat
            sub/
                forks.dat

После документов Я пытался добавить:

setup(...,
  packages=['mypkg'],
  package_dir={'mypkg': 'src/mypkg'},
  package_data={'mypkg': ['data/*.dat', 'data/sub/*.dat']},
)

Я устанавливаю модуль с python setup.py install (хотя в конечном итоге я буду использовать python setup.py sdist upload для загрузки пакета в pypi, чтобы другие могли pip install модуль.

После выполнения команды python setup.py install, чтобы найти местоположение модуля, я затем import mypkg и print(mypkg.__file__). В каталоге пакета, однако, я вижу data, но не data/sub. Кто-нибудь знает, что мне не хватает? Любая помощь с благодарностью!

1 Ответ

1 голос
/ 17 июня 2019

Ах, получается, вышеперечисленное прекрасно работает!

Чтобы установить модуль в мое site-packages/mypkg местоположение, мне просто нужно было использовать: python setup.py sdist, а затем pip install dist/mypkg-0.0.1.tar.gz.

Тогда мои файлы данных были в site-packages/mypkg.

...