Рекомендации по установке и использованию библиотек Python, которые недоступны в дистрибутивах pip или tarball - PullRequest
2 голосов
/ 27 октября 2019

Какова лучшая практика для установки библиотек Python, которые доступны в VCS, но не поддерживаются в виде пакетов, устанавливаемых с помощью pip?

До сих пор я нашел множество решений, которые предлагают просто установить непосредственно из GitHub , но все они, по-видимому, требуют, чтобы сопровождающий подготовил пакет для установки в pip. Существует также опция установки из tarballs , но в этом случае сопровождающий не предлагает установить tarball.

Существует несколько попыток pypi , чтобы освободить это, но все они устарели или имеют проблемы того или иного рода.

Данная библиотека предназначена для работы с дисплеями E-Paper от wavehare . Библиотеки, которые я хотел бы использовать, закопаны в несколько каталогов глубиной в репозитории git. Что еще хуже, проект выпущен без файла license.txt, но в каждом файле библиотеки имеется общий текст лицензии . Похоже, что текст лицензии дает широкое разрешение на включение библиотек в любой тип проекта (см. Текст ниже).

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

  1. Скопируйте библиотеки в проект

    Проблемы:

    • библиотеки устареют
    • простого способа нетобновить их, за исключением ручного копирования в проект
  2. Переупаковать библиотеки и загрузить в pip

    Проблемы:

    • Iтеперь нужно поддерживать проекты pypi
    • Они в конечном итоге устарели и с проблемами, точно такими же, как те, которые я нашел до сих пор

1 Ответ

2 голосов
/ 27 октября 2019

Существует setup.py, поэтому проект можно установить с помощью следующей команды:

pip install -e 'git+https://github.com/waveshare/e-Paper.git#egg=waveshare-epd&subdirectory=RaspberryPi&JetsonNano/python'

Но он не работает, поскольку в имени каталога есть амперсанд (&). ,Если бы можно было как-то избежать этого персонажа, это бы сработало.

...