Как поддерживать модифицированную версию библиотеки Python и обеспечить автоматическую установку этой версии в моем приложении с использованием requirements.txt? [дубликат]

Вопрос или проблема

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

В данный момент я без понятия, как это сделать.

Сделайте форк библиотеки > внесите свои изменения в ваш форк > добавьте URL репозитория форка в ваш requirements.txt.

requirements.txt:

git+https://github.com/<ваше_имя_пользователя>/<репозиторий_форка>.git@<ваша-ветка>#egg=<имя_оригинальной_библиотеки>

замените всё на <>


Чтобы получить будущие обновления библиотеки, сохраняя при этом ваши изменения. Вам, вероятно, потребуется добавить оригинальный репозиторий как удаленный в вашем локальном клонe > получить и объединить изменения из оригинального репозитория > разрешить конфликты слияния вручную > отправить обновленный код в ваш форк.

действуйте с осторожностью… я это не тестировал, но в теории это должно сработать.

Ответ или решение

Чтобы поддерживать модифицированную версию библиотеки Python и автоматически устанавливать эту версию с помощью файла requirements.txt, следуйте приведённым ниже шагам:

Шаг 1: Форкнуть библиотеку

  1. Сделайте форк оригинального репозитория библиотеки на GitHub. Перейдите на страницу репозитория, который вы хотите модифицировать, и нажмите на кнопку "Fork". Это создаст копию репозитория в вашем аккаунте GitHub.

Шаг 2: Внесите изменения

  1. Клонируйте форкнутый репозиторий на свой локальный компьютер:

    git clone https://github.com/<ваше_имя_пользователя>/<имя_форка_библиотеки>.git
    cd <имя_форка_библиотеки>
  2. Внесите необходимые изменения в код. Вы можете редактировать файлы с помощью текстового редактора или IDE.

Шаг 3: Настройте файл requirements.txt

Добавьте строку в ваш файл requirements.txt, чтобы указать pip установить вашу модифицированную версию библиотеки:

git+https://github.com/<ваше_имя_пользователя>/<имя_форка_библиотеки>.git@<ваша_ветка>#egg=<оригинальное_имя_библиотеки>

Замените:

  • <ваше_имя_пользователя> на ваше имя пользователя на GitHub.
  • <имя_форка_библиотеки> на название форкнутой библиотеки.
  • <ваша_ветка> на нужную вам ветку (например, main или master).
  • <оригинальное_имя_библиотеки> на имя оригинальной библиотеки.

Шаг 4: Автоматическое получение обновлений

Чтобы получать обновления оригинальной библиотеки, выполните следующие действия:

  1. Настройте оригинальный репозиторий как удалённый в вашем локальном клоне:

    git remote add upstream https://github.com/<оригинальный_пользователь>/<оригинальный_репозиторий>.git
  2. Регулярно загружайте изменения из оригинального репозитория:

    git fetch upstream
  3. Слияние изменений с вашей веткой:

    git merge upstream/main  # Или замените main на нужную вам ветку
  4. Разрешайте конфликты, если они возникнут, после чего выполните:

    git push origin <ваша_ветка>

Заключение

Таким образом, вы сможете поддерживать модифицированную версию библиотеки, автоматически устанавливать её с помощью requirements.txt и получать будущие обновления из оригинального репозитория. Этот подход позволяет минимизировать усилия на ручное редактирование библиотек и делает вашу разработку более организованной.

Оцените материал
Добавить комментарий

Капча загружается...