В 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).