Заморозить Пип и Пип списка
сравнение выходов показывает различия:
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?
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 freezearesetuptools(что является easy_install) иpipсам по себе.похоже
pip freezeпросто не перечисляет пакеты, от которых зависит сам pip. Вы можете использовать--allфлаг, чтобы показать те пакеты.С документация:
--allНе пропускайте эти пакеты в выходных данных: pip, setuptools, раздай, колесо
посмотреть pip documentation, который описывает функциональные возможности, как:
pip list
список установленных пакетов, включая редактируемые.
pip freeze
вывод установленных пакетов в формате требований.
Итак, есть два различия:
формат вывода,
freezeдает нам стандарт формат требования, который может быть использован позже сpip install -rустановить требования.вывод содержимого,
pip listвключить editables, которыйpip freezeнет.
основное различие заключается в том, что выход
pip freezeможно сбросить в требования.txt файл и используется позже для воссоздания "замороженной" среды.другими словами, вы можете запустить:
pip freeze > frozen-requirements.txtна одной машине, а затем позже на другой машине или в чистой среде вы можете сделать:pip install -r frozen-requirements.txtи вы получите идентичную среду с точно такими же зависимостями, которые были установлены в исходной среде, где вы создали замороженные-требования.формат txt.
Comments