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 # 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 用户可以参考以下命令下载安装:
1 2 3 4 5 6 7 8 | 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
命令查看安装信息。
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