Заморозить Пип и Пип списка



сравнение выходов показывает различия:



user@user-VirtualBox:~$ pip list
feedparser (5.1.3)
pip (1.4.1)
setuptools (1.1.5)
wsgiref (0.1.2)
user@user-VirtualBox:~$ pip freeze
feedparser==5.1.3
wsgiref==0.1.2


в документации Pip говорится



freeze                      Output installed packages in requirements format.
list List installed packages.


но что такое "формат требований", и почему pip list создать более полный список, чем pip freeze?

770   4  

4 ответов:

когда вы используете virtualenv, вы можете указать requirements.txt файл для установки всех зависимостей.

типичное использование:

$ pip install -r requirements.txt

пакеты должны быть в определенном формате для pip понял, что

feedparser==5.1.3
wsgiref==0.1.2
django==1.4.2
...

это формат "требования".

здесь django==1.4.2 подразумевает установку django версия 1.4.2 (хотя последняя версия 1.6.икс.) Если вы не укажете ==1.4.2, последняя версия будет доступна установленный.

вы можете прочитать больше в "основы Virtualenv и pip", а чиновник"Формат Файла Требований" документации.

чтобы ответить на вторую часть этого вопроса, два пакета, показанные в pip list а не pip freeze are setuptools (что является easy_install) и pip сам по себе.

похоже pip freeze просто не перечисляет пакеты, от которых зависит сам pip. Вы можете использовать --all флаг, чтобы показать те пакеты.

С документация:

--all

Не пропускайте эти пакеты в выходных данных: pip, setuptools, раздай, колесо

посмотреть pip documentation, который описывает функциональные возможности, как:

pip list

список установленных пакетов, включая редактируемые.

pip freeze

вывод установленных пакетов в формате требований.

Итак, есть два различия:

  1. формат вывода, freeze дает нам стандарт формат требования, который может быть использован позже с pip install -r установить требования.

  2. вывод содержимого, pip list включить editables, который pip freeze нет.

основное различие заключается в том, что выход pip freeze можно сбросить в требования.txt файл и используется позже для воссоздания "замороженной" среды.

другими словами, вы можете запустить: pip freeze > frozen-requirements.txt на одной машине, а затем позже на другой машине или в чистой среде вы можете сделать: pip install -r frozen-requirements.txt и вы получите идентичную среду с точно такими же зависимостями, которые были установлены в исходной среде, где вы создали замороженные-требования.формат txt.

Comments

    Ничего не найдено.