Python pip установить подпакет из собственного пакета - PullRequest
0 голосов
/ 27 сентября 2019

Я бы хотел установить специальный пакет из пакета.

Например, я хочу создать пакет с pkg_a и pkg_b.Но я хочу позволить пользователю выбирать, что он хочет установить.

Что я хотел бы сделать:

git clone https://github.com/pypa/sample-namespace-packages.git
cd sample-namespace-packages

# for all packages
pip install native

# for specific
pip install native.pkg_a native.pkg_b

Я видел это в ответе на другие вопросы, поэтому он долженвозможно: Подпакет установки Python из пакета

Также я прочитал документацию Пакеты пространств имен и попытался сделать трюк с репо

Я попробовал несколько вариантов с дополнительным setup.py в собственном каталоге, но я не могу с этим справиться, и я благодарен за любую помощь.

1 Ответ

0 голосов
/ 30 сентября 2019

Решение для вашего варианта использования похоже на то, которое я дал здесь: https://stackoverflow.com/a/58024830/11138259,, а также то же, что вы указали в своем вопросе: Python install sub-package из пакета .

Я на самом деле не проверял это и не могу гарантировать, что оно сразу же заработает без дальнейшей настройки, но я бы рекомендовал распространить 3 проекта:

  • native
  • native.pkg_a
  • native.pkg_b

Проекты native.pkg_a и native.pkg_b являются пакетами пространства имен .Они могут быть построены с использованием инструкций из Руководства пользователя по Python Packaging "Упаковка пакетов пространства имен, собственные пакеты пространства имен" .Вот пример здесь .

Проект native в основном пустой, фактического кода нет, но важной частью является добавление пакетов пространства имен как требования к установке : install_requires=['native.pkg_a', 'native.pkg_b'].

...