conda create -n python 3.6_conda create 怎么创建纯净的 Python3.6 环境?

时间:2025-05-07 10:02:19

刚接触 conda,安装了 Anaconda3,想用 conda create 命令创建一个只含标准模块和几个必需第三方模块(如 pip、wheel)的 Python3.6 环境。

使用命令:

conda create -n test python=3.6

然而在运行后确认安装模块阶段显示创建的环境中会有很多我觉得完全不需要的模块

如下:

Fetching package metadata .............

Solving package specifications: .

Package plan for installation in environment D:\Anaconda3\envs\test:

The following NEW packages will be INSTALLED:

asn1crypto:      0.22.0-py36h8e79faa_1      defaults

ca-certificates: 2017.08.26-h94faf87_0      defaults

cachecontrol:    0.12.3-py36hfe50d7b_0      defaults

certifi:         2017.7.27.1-py36h043bc9e_0 defaults

cffi:            1.10.0-py36hae3d1b5_1      defaults

chardet:         3.0.4-py36h420ce6e_1       defaults

colorama:        0.3.9-py36h029ae33_0       defaults

cryptography:    2.0.3-py36h123decb_1       defaults

distlib:         0.2.5-py36h51371be_0       defaults

html5lib:        0.999999999-py36ha09b1f3_0 defaults

idna:            2.6-py36h148d497_1         defaults

lockfile:        0.12.2-py36h0468280_0      defaults

msgpack-python:  0.4.8-py36h58b1e9d_0       defaults

openssl:         1.0.2l-vc14hcac20b0_2      defaults [vc14]

packaging:       16.8-py36ha0986f6_1        defaults

pip:             9.0.1-py36hadba87b_3       defaults

progress:        1.3-py36hbeca8d3_0         defaults

pycparser:       2.18-py36hd053e01_1        defaults

pyopenssl:       17.2.0-py36h15ca2fc_0      defaults

pyparsing:       2.2.0-py36h785a196_1       defaults

pysocks:         1.6.7-py36h698d350_1       defaults

python:          3.6.2-h09676a0_15          defaults

requests:        2.18.4-py36h4371aae_1      defaults

setuptools:      36.5.0-py36h65f9e6e_0      defaults

six:             1.10.0-py36h2c0fdd8_1      defaults

urllib3:         1.22-py36h276f60a_0        defaults

vc:              14-h2379b0c_1              defaults

vs2015_runtime:  14.0.25123-hd4c4e62_1      defaults

webencodings:    0.5.1-py36h67c50ae_1       defaults

wheel:           0.29.0-py36h6ce6cde_1      defaults

win_inet_pton:   1.0.1-py36he67d7fd_1       defaults

wincertstore:    0.2-py36h7fe50ca_0         defaults

Proceed ([y]/n)?

确认将安装的模块中有很多 web 开发的模块,我完全用不到,怎么取消安装这些多余的模块?

我发现只有在创建 Python2.7、3.5、3.6 时会有多余的模块,而在创建其他 Python 版本(如3.4、2.6)环境时则不会出现这种情况:

C:\Users\Drake> conda create -n test python=3.4

Fetching package metadata .............

Solving package specifications: .

Package plan for installation in environment D:\Anaconda3\envs\test:

The following NEW packages will be INSTALLED:

pip:            9.0.1-py34_1    defaults

python:         3.4.5-0         defaults

setuptools:     27.2.0-py34_1   defaults

vs2010_runtime: 10.00.40219.1-2 defaults

wheel:          0.29.0-py34_0   defaults

unintuition

Proceed ([y]/n)?

所以怎样才能用 conda 创建干净的 Python3.6 环境?

Update:

在 hezhiming 的提示下,经过阅读 conda 官方文档中的 管理环境、包安装参数 后,我找到了解决方法。

conda create --name myenv --file

使用 –file FILE 参数指定安装包,本来想省事用 .yml 文件,但是发现依然会有多余模块安装,所以只用 .txt 文件,文件格式:

@EXPLICIT

/pkgs/free/osx-64/python-3.5..bz2

/pkgs/free/osx-64/pip-8.1.2-py35_0.tar.bz2

上面的链接都是Anaconda镜像列表上的源码包,使用该文件创建环境表示只下载安装文件中的包,不会有任何其他动作。

至此,安装干净的Python环境就完成了。

不过,在创建环境后,在新环境内如果使用 conda install 任何模块时,conda 会自动检测你没有安装哪些 conda 默认安装的环境包并自动加入安装。

所以在创建后的新环境中如果想一直完全由自己控制模块的安装,最好使用 pip,而且Anaconda镜像列表中的包比较少,也不如 pip 能装得多。

总结:安装 Anaconda 后如果想创建干净的 Python 环境,就使用 conda 导入文件安装环境,创建后使用 pip 安装其他需求的模块。

我在写一个使用 conda 和 pip 一次创建好环境的小脚本,写完后会发上来。

感谢所有回答的人。