Подтвердить что ты не робот

Почему список замороженных файлов "pkg-resources == 0.0.0"?

В Ubuntu 16.04 с virtualenv 15.0.1 и Python 3.5.2 (оба установлены с apt), когда я создаю и активирую новую виртуальную среду Python с помощью

virtualenv .virtualenvs/wtf -p $(which python3) --no-site-packages
source .virtualenvs/wtf/bin/activate

Я получаю следующий вывод:

Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/das-g/.virtualenvs/wtf/bin/python3
Also creating executable in /home/das-g/.virtualenvs/wtf/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.

Действительно pip freeze --all перечисляет эти 4 пакета:

pip==8.1.2
pkg-resources==0.0.0
setuptools==25.2.0
wheel==0.29.0

Хотя, я ожидал бы pip freeze (без --all) опустить эти неявно установленные пакеты. Он опускает некоторые из них, но не pkg-resources:

pkg-resources==0.0.0

(Тот же btw. для pip freeze --local)

Хотя это соответствует тексту справки

$> pip freeze --help | grep '\--all'
  --all                       Do not skip these packages in the output: pip, setuptools, distribute, wheel

имеющий pkg-resources в выводе pip freeze не кажется очень полезным и даже может быть вредным. (Я подозреваю, почему запуск pip-sync из pip-tools удаляет pkg-ресурсы из виртуальной среды, тонко разбивая среду таким образом.) Есть ли какие-либо хорошие причина, по которой pip freeze перечисляет pkg-resources, а не опуская его? Насколько я помню, он не отображал его на Ubuntu 14.04 (с Python 3.4).

4b9b3361

Ответ 2

У меня была та же проблема.

Как я его исправил: с командами

sudo apt-get remove virtualenv
sudo -H pip2 install virtualenv

Он просто сработал.