为什么 conda 安装 pip/setuptools 等...?

Why does conda install pip/setuptools etc...?

我正在使用 conda 为我的每个 python 项目创建干净的环境。我只想 bootstrap 只用 python 的环境,而不是用不必要的依赖项来混淆它。我注意到在使用 anaconda 创建准系统 venv 时:

conda create --name myenv python

它必须安装以下新包,

certifi:        2017.11.5-py36hb8ac631_0
pip:            9.0.1-py36h226ae91_4
python:         3.6.3-h3b118a2_4
setuptools:     36.5.0-py36h65f9e6e_0
vc:             14-h2379b0c_2
vs2015_runtime: 14.0.25123-hd4c4e62_2
wheel:          0.30.0-py36h6c3ec14_1
wincertstore:   0.2-py36h7fe50ca_0

conda 在某种意义上需要这些来操作吗?如果只打算使用 python 标准库,是否可以将它们排除在安装之外?

那就不要运行他们。这些依赖项的要点是你不能用任何第三方库扩展你的环境,除非它们存在,而且大多数项目确实依赖于一些第三方库(或者你自己的库应该是可安装的)——所以它们被安装了默认情况下,因为它们通常是必需且有用的。

您可以要求 conda venv create 脚本不包含任何带有 --no-default-packages--no-deps 的默认包。官方的virtualenv包支持--no-pip--no-setuptools--no-wheel跳过