Обновление пакетов python из файла требований.txt с помощью команды pip

Как обновить все мои пакеты python из файла requirements.txt с помощью команды pip?

попробовал команду ниже

$ pip install --upgrade -r requirements.txt 

Так как пакеты python имеют номер версии ( Django==1.5.1 ), они, похоже, не обновляются. Есть ли лучший подход, чем вручную редактировать файл требований.txt?

РЕДАКТИРОВАТЬ

Как упоминал Энди в своем ответе, пакеты привязаны к определенной версии, поэтому обновление пакетов через команду pip невозможно.

Но мы можем добиться этого с помощью pip-tools используя следующую команду.

 $ pip-review --auto 

это автоматически обновит все пакеты с помощью требования. txt (обязательно установите pip-tools используя команду установки pp).

4 Solutions collect form web for “Обновление пакетов python из файла требований.txt с помощью команды pip”

Нет. Ваш файл требований прикреплен к определенным версиям. Если ваши требования настроены на эту версию, вы не должны пытаться обновить эти версии. Если вам нужно обновить, вам нужно перейти на версии без изменений в файле требований.

Пример:

 lxml>=2.2.0 

Это позволит обновить lxml до любой версии выше версии 2.2.0

 lxml>=2.2.0,<2.3.0 

Это позволит обновить lxml до последней версии от 2.2.0 до 2.3.0.

можешь попробовать:

 pip install --upgrade --force-reinstall -r requirements.txt 

Вы также можете игнорировать установленный пакет и установить новый:

 pip install -I, --ignore-installed -r requirements.txt 

Я уже здесь ответил на этот вопрос. Вот мое решение:

Поскольку не было простого способа обновления пакета по пакетам и обновления файла requirements.txt, я написал этот pip-updrader, который также обновляет версии в вашем файле requirements.txt для выбранных пакетов (или всех пакетов).

Монтаж

 pip install pip-upgrader 

Применение

Активируйте свой virtualenv (важно, потому что он также установит новые версии обновленных пакетов в текущем virtualenv).

cd в каталог проекта, а затем запустите:

 pip-upgrade 

Расширенное использование

Если требования размещены в нестандартном местоположении, отправьте их в качестве аргументов:

 pip-upgrade path/to/requirements.txt 

Если вы уже знаете, какой пакет вы хотите обновить, просто отправьте их в качестве аргументов:

 pip-upgrade -p django -p celery -p dateutil 

Если вам необходимо обновить версию до выпуска / пост-релиза, добавьте аргумент --prerelease в свою команду.

Полное раскрытие: я написал этот пакет.

Поскольку я не мог этого сделать с помощью bash, я написал модуль python для создания нового файла требований без версий и его использования:

 data = open('requirements-prod.pip', 'r') data2 = open('requirements-prod-no-version.pip', 'w') for line in data.readlines(): new_line = line[:line.index('==')] data2.write(new_line + '\n') data2.flush() 

Затем установите libs из нового файла pip install -U -r requirements-prod-no-version.pip

Наконец, заморозите версии до первоначального файла pip freeze > requirements-prod.pip

  • Удалите прокладку из графика matplotlib
  • Могу ли я сделать STATICFILES_DIR так же, как STATIC_ROOT в Django 1.3?
  • Использование mock для исправления задачи сельдерея в модульных тестах Django
  • check_password () от пользователя снова
  • Неправильно Конфигурировано в / Пустой статический префикс не разрешен - Django
  • Джанго говорит: «Нет модуля с именем« блог »
  • django send_mail from queryset
  • Тестирование зависимостей с помощью Python
  • Python - лучший язык программирования в мире.