Python 环境管理工具 Miniconda 的安装、配置与使用

目录
[隐藏]

Miniconda 是一个轻量级的 Python 环境管理工具,它是 Anaconda 的简化版本。与 Anaconda 不同,Miniconda ‌不预装大量科学计算库‌,而是仅包含 conda 包管理工具和 Python 基础环境,用户可以根据需要自行安装所需依赖。这使得它更灵活且节省存储空间。

1. 安装 Miniconda

官方安装参考:https://www.anaconda.com/docs/getting-started/miniconda/install

国内用户可以通过清华软件镜像站查找 latest 版本并下载安装包:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/

Windows 用户下载安装包后,右键选择管理员用户打开进行安装即可。

MacOS 用户可以参考以下命令下载安装:

1
2
3
4
5
6
7
8
mkdir -p ~/miniconda3
curl https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-MacOSX-arm64.sh -o ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh
 
source ~/miniconda3/bin/activate
conda init --all

Linux 用户可以参考以下命令下载安装:

1
2
3
4
5
6
7
8
mkdir -p ~/miniconda3
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh
 
source ~/miniconda3/bin/activate
conda init --all

安装完成后,可以通过 conda info 命令查看安装信息。

1
2
3
4
5
conda info
 
# 更新 conda
conda --version
conda update conda

2. 配置 Miniconda

执行 conda info 命令,可以看到基本的配置信息。

2.1 修改 conda 默认 envs_dirs 和 pkgs_dirs

默认情况下,conda 的首选 envs_dirs 是 ~/.conda/envs 目录,如果磁盘空间不够用,可以修改至其他磁盘目录下。示例:

1
2
3
4
5
6
7
8
9
10
# 创建缓存文件夹
mkdir -p D:\cache\anaconda\envs
mkdir -p G:\cache\anaconda\pkgs
 
# 自定义 envs 和 pkgs 位置
conda config --add envs_dirs "D:\cache\anaconda\envs"
conda config --add pkgs_dirs "G:\cache\anaconda\pkgs"
 
# 查看配置信息,对比是否生效
conda info

2.2 设置 conda 国内镜像源

conda 官方软件仓库源在国内无法访问,可以配置为清华镜像源。

1
2
3
4
5
6
7
8
9
10
# 自定义 channels
conda config --set channel_alias https://mirrors.tuna.tsinghua.edu.cn/anaconda/
 
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
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/msys2
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
 
conda info

当然,也可以直接编辑 ~/.condarc 文件,在其中添加配置参考如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda/
channels:
  - defaults
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
  fastai: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai/
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
  paddle: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/
 
# ssl_verify: false
show_channel_urls: true
channel_priority: flexible
allow_conda_downgrades: true
 
envs_dirs:
  - G:\cache\Anaconda3\envs
pkgs_dirs:
  - G:\cache\Anaconda3\pkgs

Miniconda 自定义 channels 国内镜像源后仍然报错无效的问题及解决:

如果在 ~/.condarc 文件中已配置了 channels 国内镜像源,通过 conda info 仍然看到 channels 中包含 repo.anaconda.com 相关内容,并且在创建环境时仍然会因为需要请求它们而报错:

CondaHTTPError: HTTP 000 CONNECTION FAILED for url https://repo.anaconda.com/pkgs/main/win-64/repodata.json.bz2
Elapsed: –

An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.

If your current network has https://www.anaconda.com blocked, please file a support request with your network engineering team.

SSLError(MaxRetryError(‘HTTPSConnectionPool(host=‘repo.anaconda.com’, port=443): Max retries exceeded with url: /pkgs/main/win-64/repodata.json.bz2 (Caused by SSLError(SSLError(“bad handshake: Error([(‘SSL routines’, ‘ssl3_get_server_certificate’, ‘certificate verify failed’)])”)))’))

这是因为在 Miniconda 安装目录下也有一个 .condarc 文件,并且里面默认配置了官方 channels,如 MacOS 下路径为:~/miniconda3/.condarc。将其内容删除或注释掉即可。我在这个问题上查找分析了许久,通过翻阅官方文档才搞明白。

3. Miniconda 用法及常用命令

基本用法示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 创建新环境(指定 Python 版本)
conda create -n my_env python=3.9
 
# 激活环境
conda activate my_env
 
# 安装包(例如 numpy)
conda install numpy
 
# 查看已安装的包
conda list
 
# 退出当前环境
conda deactivate
 
# 删除环境
conda remove -n my_env --all

常用命令参考:

  • conda create -n <env-name> 创建一个名为 <env-name> 的环境
    • conda create -n myenv python=3.11 创建一个名为 myenv 的环境,并安装 python 3.11 版本
  • conda activate <env-name> 激活名为 <env-name> 的环境
  • conda deactivate 退出当前环境
  • conda list 查看当前环境中的包
  • conda search <package-name> 搜索名为 <package-name> 的包
  • conda install <package-name> 安装名为 <package-name> 的包
    • conda install --name myenv matplotlib 在名为 myenv 的环境中安装 matplotlib 包
  • conda remove <package-name> 删除名为 <package-name> 的包
  • conda update <package-name> 更新名为 <package-name> 的包
  • conda env list 查看所有环境
  • conda env remove -n <env-name> 删除名为 <env-name> 的环境

  • 缓存清理

    • conda clean --all 清理所有缓存
    • conda clean --index-cache 清理索引缓存
    • conda clean --packages 清理无用的包缓存
    • conda clean --tarballs 删除 tarballs 缓存

4. 相关参考

  • https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
  • https://www.anaconda.com/docs/getting-started/miniconda/install
  • https://www.anaconda.com/docs/psm/cloud/channels
  • https://docs.conda.org.cn/projects/conda/en/stable/user-guide/configuration/mirroring.html
点赞 (0)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Captcha Code