# Conda

由于机器学习会依赖大量不同环境,环境之间可能有冲突,所以推荐用 Miniconda 或 Anaconda 这种的 python 库+虚拟环境 管理器来对 python 进行统一管理。 conda 其实是 Miniconda 或 Anaconda 中的主程序,用于执行各种命令。

# 安装

Miniconda 是 Anaconda 的轻量化版本,只包含 condapython ,而 Anaconda 则默认包含更多的库,所以 Miniconda 只有几十 M 的大小,而 Anaconda 则有几百 M 的大小。二者在使用中几乎没有差别,可以根据空间自行选取。

  • Anaconda Download
  • Miniconda Download

无论安装 Anaconda 还是 Miniconda,在安装完成后,应该会默认在当前命令行工具的配置文件中写好环境变量,可以直接用 source ~/.zshrc (zsh)来读取一下环境变量。

推荐在安装完成后,立刻conda 进行更新,可以减少出现未知问题的概率...

conda update -n base conda
conda update --all

# Mamba

mamba 相比 conda 的优势如下:

  • 用 C 重新实现了依赖解析器,大幅提高依赖解析速度。
  • 并行下载所需要的包
  • 在解析依赖时给出步骤提醒,不像 conda 仅仅是一直 solving

同时, mamba 基本实现了所有 conda 的功能,使用起来仅需把上述所有命令中的 conda 替换成 mamba 即可。 mamba 需要通过 conda 来进行安装:

conda install -n base -c conda-forge mamba

综合来说,可以一定程度解决 conda 过长的 Solving environment 的时间,推荐安装并替换 conda 使用。

# bug 解决

# frozen solve 问题

在用 conda install 包时出现报错:

Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
Solving environment: unsuccessful attempt using repodata from current_repodata.json, retrying with next repodata source.

请按步骤进行排查:

  1. 添加 conda-forge 频道

    # 添加频道
    conda config --add channels conda-forge
    # 查看已添加的频道
    conda config --show-sources
  2. 更新 conda 到最新版本

    conda update -n base conda
    conda update --all
  3. 重新安装,若解决,到此结束

  4. 若未解决:新建一个虚拟环境

    # 创建虚拟环境
    conda create -n <EnvName> python=3.11
  5. 再次安装即可解决

# 卸载

如果在安装过程中莫名问题(正常操作却出现各种 error),然后通过各种教程仍无法修复,建议卸载重装,可能可以解决问题(博主就是这么解决的)

  1. 清除环境变量:清除 ~/.zshrc~/.bashrc 中的类似下列的内容:

    # >>> conda initialize >>>
    # !! Contents within this block are managed by 'conda init' !!
    __conda_setup="$('/Your/Conda/Path/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
    if [ $? -eq 0 ]; then
        eval "$__conda_setup"
    else
        if [ -f "Your/Conda/Path/etc/profile.d/conda.sh" ]; then
            . "Your/Conda/Path/etc/profile.d/conda.sh"
        else
            export PATH="/Your/Conda/Path/miniconda3/bin:$PATH"
        fi
    fi
    unset __conda_setup
    # <<< conda initialize <<<
  2. 删除文件夹: rm -rf <Your/Conda/Path>

# Conda 常用命令

# 环境

# 新建虚拟环境
conda create -n <EnvName>
conda create -n <EnvName> python=3.9
# 列出所有虚拟环境
conda info -e
# 进入虚拟环境
conda activate <EnvName>
# 退出虚拟环境
conda deactivate
# 删除虚拟环境
conda remove -n <EnvName> --all
# 复制虚拟环境
conda create --name <NewEnvName> --clone <OldEnvName>

# 更新

# 查看版本
conda -V
# 更新 conda 环境
conda update -n base conda
# 更新 conda 的所有包
conda update --all

# 频道

conda 频道是存储 的位置,安装包时 conda 会搜索现有的频道集合,并选取其中一个频道来安装包,一般用 conda-forge 这个免费频道

# 添加新频道
conda config --add channels <channel-name>
# 查看所有频道
conda config --show-sources

#


更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Gality 微信支付

微信支付

Gality 支付宝

支付宝