共计 4811 个字符,预计需要花费 13 分钟才能阅读完成。
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 用户可以参考以下命令下载安装:
mkdir -p ~/miniconda3 | |
# wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh -o ~/miniconda3/miniconda.sh | |
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 用户可以参考以下命令下载安装:
mkdir -p ~/miniconda3 | |
# wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh | |
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
命令查看安装信息。
conda info | |
# 更新 conda | |
conda --version | |
conda update conda |
2. 配置 Miniconda
执行 conda info
命令,可以看到基本的配置信息。
2.1 修改 conda 默认 envs_dirs 和 pkgs_dirs
默认情况下,conda 的首选 envs_dirs 是 ~/.conda/envs
目录,如果磁盘空间不够用,可以修改至其他磁盘目录下。示例:
# 创建缓存文件夹 | |
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 官方软件仓库源在国内无法访问,可以配置为清华镜像源。
# 自定义 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
文件,在其中添加配置参考如下:
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 用法及常用命令
基本用法示例:
# 创建新环境(指定 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