Почему pip freeze сообщает о некоторых пакетах в новом virtualenv, созданном с -no-site-пакетами?

Когда я создаю новый virtualenv, pip freeze показывает, что у меня есть несколько пакетов, даже если я ничего не установил в среде. Я ожидал, что pip freeze вернет пустой вывод до тех пор, пока мой первый pip install в среду. wsgiref является частью стандартной библиотеки , не так ли, поэтому почему она вообще появляется?

 день @ гараж: ~ $ mkdir тестирование
 день @ гараж: ~ $ cd тестирование
 день @ гараж: ~ / тестирование $ virtualenv --no-site-packages.
 Новый исполняемый файл python в ./bin/python
 Установка дистрибутива ................................................ ..........
 .................................................. .............................
 .........................................сделанный.
 день @ гараж: ~ / тестирование $.  бен / активировать
 (тестирование) день @ гараж: ~ / тестирование $ pip замораживание
 распространять == 0.6.10
 wsgiref == 0.1.2

Дополнительная информация:

 (тестирование) день @ гараж: ~ / тестирование $ pip --версия
 pip 0.7.2 из /home/day/testing/lib/python2.7/site-packages/pip-0.7.2-py2.7.eg
 g (python 2.7)
 (тестирование) день @ гараж: ~ / тестирование $ деактивировать
 день @ гараж: ~ / тестирование $ virtualenv --версия
 1.4.9
 день @ гараж: ~ / тестирование $, который virtualenv
 / USR / бен / virtualenv
 день @ гараж: ~ / тестирование $ dpkg -S / usr / bin / virtualenv
 python-virtualenv: / usr / bin / virtualenv
 день @ гараж: ~ / тестирование $ cat / etc / lsb-release 
 DISTRIB_ID = Ubuntu
 DISTRIB_RELEASE = 11,04
 DISTRIB_CODENAME = искусный
 DISTRIB_DESCRIPTION = "Ubuntu 11.04"

2 Solutions collect form web for “Почему pip freeze сообщает о некоторых пакетах в новом virtualenv, созданном с -no-site-пакетами?”

Каждый раз, когда вы создаете virtualenv с –no-site-пакетами, он устанавливает setuptools или distribute . И причина, по которой wsgiref появляется, состоит в том, что стандартная библиотека python 2.5+ предоставляет информацию о wsgiref в wsgiref lib (а pip не знает, является ли это stdlib или сторонним пакетом).

Кажется, он решен на Python3.3 +: http://bugs.python.org/issue12218

Чтобы ответить на несколько другой вопрос: вы можете исключить wsgiref (и любые другие аналогично-проблемные .egg файлы, если вам так жаль, что они есть по какой-то причине), сделав pip freeze -l вместо pip freeze .

pip help freeze описывает эту опцию:

-l, –local Если в virtualenv не сообщать глобально установленные пакеты

  • PyCharm не может разрешать ссылки на модули PyQT5
  • Несколько версий python с использованием virtualenv -p (и virtualenvwrapper-win) в Windows
  • Конфигурация django apache с WSGIDaemonProcess не работает
  • Запуск OpenCV из виртуального виджета Python
  • Не удается установить частный репозиторий github с помощью pip
  • Почему virtualenv на Windows не связывает файлы .py / .pyw / .pyo / .pyc с версией исполняемых файлов на виртуальном языке версии Python?
  • Могу ли я установить пакеты окон Python в virtualenvs?
  • python ubuntu virtualenv -> ошибка
  •  
    Interesting Posts for Van-Lav

    Ошибка при загрузке в Google App Engine Boilerplate «доступ был отклонен этому ресурсу»

    Работа с кодировкой utf-8 в источнике Python

    Загрузите и распакуйте файл с помощью Python

    Python регистрирует несколько файлов с использованием одного и того же регистратора

    Python 2.x – вызов сон на миллисекундах в Windows

    Подготовить строку к началу файла

    Можете ли вы обновить версию Python3 QPython3?

    Python re.sub заменить на согласованный контент

    Предупреждение о агрегации Pandas (FutureWarning: использование dict с переименованием устарело)

    Как использовать SequenceMatcher для поиска сходства между двумя строками?

    Приложение Python Flask получает опции вместо POST

    Python: СинтаксисError: ключевое слово не может быть выражением

    записывать строку в файл по новой строке каждый раз?

    Добавьте предварительную обработку Tensorflow к существующей модели Keras (для использования в Tensorflow Serving)

    Python: ключи по умолчанию, чтобы избежать KeyError

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