Обновление пакетов 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

  • Django: изменение размера изображения перед загрузкой
  • Django 1.8 AttributeError: объект 'dict' не имеет атрибута 'push'
  • Django: ссылка на url в шаблоне, когда функция находится в представлении в другом каталоге?
  • Тишина ложных срабатываний при использовании django
  • Как перебирать Django CHOICES в шаблоне - без использования экземпляра формы или модели
  • статическая аннотация django
  • Django почтовый ящик для текстовых сообщений - максимальная длина строки (и как ее изменить)?
  • PIL - libjpeg.so.8: невозможно открыть файл общего объекта: такой файл или каталог отсутствует
  • TemplateDoesNotExist, когда базовый шаблон находится в корневой папке
  • Как сделать Django DateTimeField опционным?
  • Как отобразить пользовательскую страницу 404.html в Django
  •  
    Interesting Posts for Van-Lav

    Сгенерировать все возможные строки из списка токенов

    Автоматические скриншоты при неудаче теста Selenium Webdriver в Python

    Формат пустого тега Python etree

    ValueError: установка элемента массива с последовательностью

    конвертировать нормальную строку в латексную строку для использования в matplotlib

    Частично прозрачный график рассеяния, но с сплошной цветной полосой

    Обработка исключений в Python Behave Testing framework

    IOError: Разрешение отклонено при попытке открыть скрытый файл в режиме «w»

    Параллельное сопоставление файлов, Python

    PySide Qt: автоматический вертикальный рост для виджета TextEdit и расстояние между виджетами в вертикальном макете

    Извлечение zip-файла в память?

    Включение ранее зарегистрированных событий в новый обработчик ведения журнала

    Python автоматизирует скрипт wget с требуемым логином

    запрос настройки mlabwrap

    Как удалить / опустить небольшие контурные линии, используя matplotlib

    Python - лучший язык программирования в мире.