Это решение применимо к системной области или к области виртуальной среды и охватывает пакеты, установленные setuptools, pip и (не дай бог) easy_install.
Мой вариант использования
Я добавил результат этого вызова на свой сервер Flask, поэтому, когда я вызываю его с помощью http://example.com/exampleServer/environment я получаю список пакетов, установленных на virtualenv сервера. Это намного упрощает отладку.
Предостережения
Я заметил странное поведение этого метода - когда интерпретатор Python вызывается в том же каталоге, что и setup.py файл, он не отображает список пакета, установленного setup.py.
Шаги по воспроизведению:
Создание виртуальной среды
$ cd /tmp $ virtualenv test_env New python executable in test_env/bin/python Installing setuptools, pip...done. $ source test_env/bin/activate (test_env) $
Я говорю "удивительно", потому что инструмент установки пакета - это именно то место, где можно было бы ожидать найти эту функциональность, хотя и не под названием "freeze", но упаковка Python настолько странная, что я поражен, что этот инструмент имеет смысл. Pip 0.8.2 и Python 2.7.
Ответ 4
Начиная с pip версии 1.3, у вас есть доступ к:
pip list
Похоже, это синтаксический сахар для "pip freeze". В нем будут перечислены все модули, относящиеся к вашей установке или virtualenv, вместе с номерами их версий. К сожалению, он не отображает номер текущей версии какого-либо модуля, а также не моет посуду и не чистит обувь.