Подтвердить что ты не робот

Создание deb или rpm с помощью setuptools - data_files

У меня есть проект Python 3.

MKC
├── latex
│   ├── macros.tex
│   └── main.tex
├── mkc
│   ├── cache.py
│   ├── __init__.py
│   └── __main__.py
├── README.md
├── setup.py
└── stdeb.cfg

В процессе установки я хотел бы переместить мои латексные файлы в известный каталог, скажем /usr/share/mkc/latex, поэтому я сказал setuptools включить файлы данных

data_files=[("/usr/share/mkc/latex",
             ["latex/macros.tex", "latex/main.tex"])],

Теперь, когда я запускаю

./setup.py bdist --formats=rpm

или

./setup.py --command-packages=stdeb.command bdist_deb

Я получаю следующую ошибку:

error: can't copy 'latex/macros.tex': doesn't exist or not a regular file

Запуск только ./setup.py bdist отлично работает, поэтому проблема должна заключаться в создании пакета.

4b9b3361

Ответ 1

При создании файла deb (я думаю, что то же самое количество для файла rpm), ./setup.py --command-packages=stdeb.command bdist_deb сначала создает исходный дистрибутив и использует этот архив для дальнейшей обработки. Но ваши файлы LaTeX там не включены, поэтому они не найдены.

Вам нужно добавить их в исходный пакет. Это может быть достигнуто путем добавления MANIFEST.in с содержимым:

recursive-include latex *.tex

distutils из версии 3.1 на будет автоматически включать data_files в исходный дистрибутив, а setuptools, по-видимому, работает совсем по-другому.