Файл yaml не копируется при установке из setup.py - PullRequest
0 голосов
/ 11 января 2020

для моего пакета distutils файл yaml вместе с python файлами не копируется

setup.py

from distutils.core import setup

files = ["*.yaml", "package/*"]

setup(name = "mypackage",
    version = "0.1",
    description = "description",
    author = "Ciasto",
    author_email = "me@email.com",
    packages = ['package'],
    package_data = {'package' : files },
    scripts = ["scripts/runner"],
) 

это структура каталогов проекта :

$ tree package/
|____
| |______init__.py
| |____command.py
| |____constants.py
| |____controller.py
| |____utils.py
| |____model.py
| |____products.yaml

1 Ответ

0 голосов
/ 11 января 2020

package_data используется для добавления данных пакета к яйцам (отброшены в пользу) и колесам (не с distutils). Вы, вероятно, генерируете исходный дистрибутив (sdist).

Для sdist вам нужен файл MANIFEST.in (создайте его помимо setup.py). В вашем случае должно быть достаточно одной строки:

include package/*.yaml

См. Документацию по https://docs.python.org/3/distutils/sourcedist.html#specifying -файлам для распространения

и

https://packaging.python.org/guides/using-manifest-in/#using - манифест-в

Если вы не собираетесь создавать колеса, вы можете безопасно удалить files и package_data из setup.py .

...