目录

Anaconda配置python虚拟环境

Anaconda是一个打包的集合,里面预装好了conda、某个版本的python、各种packages如:numpy,pandas,scipy,scikit-learn等。
conda将几乎所有的工具、第三方包都当作package进行管理,甚至包括python 和conda自身。

1.安装Anaconda

下载相应版本Anaconda

或者打开Anaconda powershell prompt shell窗口

打开命令行输入conda -V检验是否安装及当前conda的版本。

2.conda常用的命令

windows下,还需把安装路径anaconda3\Scripts添加到环境变量中

1)查看安装了哪些包

1
conda list

2)查看当前存在哪些虚拟环境

1
2
conda env list 
conda info -e

3)检查更新当前conda

1
conda update conda

3.Python创建虚拟环境

  • conda create -n your_env_name python=x.x
  • anaconda命令创建python版本为x.x,名字为your_env_name的虚拟环境。your_env_name文件可以在Anaconda安装目录envs文件下找到。
1
2
#conda create -n your_env_name python=x.x
conda create -n ml_py3.8 python=3.8

创建虚拟环境成功

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

Downloading and Extracting Packages
certifi-2021.5.30    | 140 KB    | ########## | 100%
wheel-0.36.2         | 33 KB     | ########## | 100%
pip-21.1.1           | 1.8 MB    | ########## | 100%
openssl-1.1.1k       | 4.8 MB    | ########## | 100%
python-3.8.10        | 15.9 MB   | ########## | 100%
ca-certificates-2021 | 112 KB    | ########## | 100%
vc-14.2              | 8 KB      | ########## | 100%
vs2015_runtime-14.27 | 1007 KB   | ########## | 100%
wincertstore-0.2     | 15 KB     | ########## | 100%
setuptools-52.0.0    | 726 KB    | ########## | 100%
sqlite-3.35.4        | 761 KB    | ########## | 100%
Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
#
# To activate this environment, use
#
#     $ conda activate ml_py3.8
#
# To deactivate an active environment, use
#
#     $ conda deactivate


4.激活或者切换虚拟环境

打开命令行,输入python –version检查当前 python 版本。

  • Linux: source activate your_env_name
  • Windows: activate your_env_name
1
2
3
4
5
6
7
# Linux
#source activate your_env_name
source activate ml_py3.8

#Windows
#activate your_env_name
activate ml_py3.8

5.对虚拟环境中安装额外的包

conda install -n your_env_name [package]

1
2
#conda install -n your_env_name [package]
conda install -n ml_py3.8 scikit-learn

6.关闭虚拟环境(即从当前环境退出返回使用PATH环境中的默认python版本)

  • deactivate env_name 或者activate root切回root环境
  • Linux下:source deactivate env_name
1
2
3
4
5
6
7
8
#Linux
# source deactivate your_env_name
source deactivate ml_py3.8

#Windows
#activate your_env_name
deactivate ml_py3.8

  • 在虚拟爱环境中登出
1
conda deactivate

如下:

1
2
(ml_py3.8) C:\Users\test>conda deactivate
C:\Users\test>

7.删除虚拟环境

conda remove -n your_env_name –all

1
2
3
4
# conda remove -n your_env_name --all

conda remove -n ml_py3.8 --all

8.删除环境钟的某个包

conda remove –name $your_env_name $package_name

1
conda remove --name $your_env_name  $package_name

9.设置国内镜像

http://Anaconda.org的服务器在国外,安装多个packages时,conda下载的速度经常很慢。清华TUNA镜像源有Anaconda仓库的镜像,将其加入conda的配置即可:

添加Anaconda的TUNA镜像

1
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

或者

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge 

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main

TUNA的help中镜像地址加有引号,需要去掉

设置搜索时显示通道地址

1
conda config --set show_channel_urls yes

10.恢复默认镜像

1
conda config --remove-key channels

问题

在安装conda新环境时,运行:

1
conda create -n ml_py3.8 python=3.8

出现如下错误:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
An unexpected error has occurred. Conda has prepared the above report.

If submitted, this report will be used by core maintainers to improve
future releases of conda.
Would you like conda to send this report to the core maintainers?

[y/N]: N

No report sent. To permanently opt-out, use

    $ conda config --set report_errors false

解决方法:

  • 运行conda clean -i清除索引缓存,保证用的是镜像站提供的索引。
1
2
3

conda clean -i