Добавление документации сборки sphinx к колесу Python - PullRequest
0 голосов
/ 06 сентября 2018

Я создаю пакет Python, который упаковывает (и связывает) DLL. Я планирую отправлять готовые документы на основе сфинкса в колесо и, возможно, добавить точку входа для удобства запуска браузера для их просмотра.

После некоторого поиска в Google я не нашел много информации об этом подходе.

Разве это не рекомендуемый подход? Обратите внимание, что это для внутреннего пакета, который не предназначен для общего пользования, и я хочу, чтобы у пользователя пакета всегда была соответствующая версия документации для выпуска DLL.

То, что я ищу, - это способ включить встроенные HTML-файлы, ссылаясь на них в файле setup.py. Я знаю, что могу использовать package_data и include_package_data аргументы ключевых слов для setup в пределах setup.py, но я считаю, что они работают с пакетами, как следует из названия, поэтому я думаю, что использование этого подхода было бы грязным для этого приложения.

Если это неправильный подход, я бы хотел услышать о лучших альтернативах!

1 Ответ

0 голосов
/ 07 сентября 2018

Я остановился на решении, которое, кажется, работает нормально, используя data_files, но это безобразно, как грех. Решение основано на этом ответе .

По моему setup.py У меня есть это:

def get_data_files(docs_root):
    data_files = []
    for dirname, dirs, files in os.walk(docs_root):
        for f in files:
            data_files.append(os.path.join(dirname, f))
    return data_files

, который я называю частью аргумента data_files:

data_files = [('Lib/site-packages/<module_name>/docs', get_data_files('module_name/docs'))],

У меня есть оговорки в отношении переносимости этого, но, похоже, это единственная жизнеспособная опция, которая работает для меня, которая позволяет также чистое удаление.

...