python的环境管理器--conda

conda介绍

      任何语言的包、依赖和环境管理 --- 支持Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN

功能:

包管理:方便的安装、更新、卸载python包,同时可以管理包的版本避免不同项目之间的依赖冲突

环境管理:用户可以通过conda创建、激活、切换和删除python环境,隔离不同项目的依赖关系,避免版本冲突。

跨平台兼容性:不同操作系统,都能提供一致的管理体验

包仓库管理:支持多个包仓库,允许用户从不同的源安装软件包

优点:

  • 快速安装、运行和更新包及其依赖项
  • 轻松地在本地计算机上创建、保存、加载和切换环境

安装Conda

根据不同的需求,从 Anaconda 和 Miniconda 二者选其一进行,进行安装即可:

以下就是需要添加的环境变量,相应用户的目录存在差异,但是后面的路径名称相同。

D:\anaconda

D:\anaconda\Scripts\

D:\anaconda\Library\bin

D:\anaconda\Library\mingw-w64\bin

安装检验:

conda --version

pycharm配置conda环境

Conda使用实例

查看所有环境的列表

借助 conda info 命令可以查看与 conda 相关的一些信息,配合 -e, --envs 选项,可以查看所有环境的列表(conda 会默认创建一个 base 环境)

$ conda info --envs
# conda environments:
#
base                  *  /usr/local/Caskroom/miniconda/base

创建一个新环境

通过 conda create 命令可以创建一个新环境,利用 --name 选项,可以为新环境命名,比如:创建一个新环境 test

conda create --name test

使用或"激活"新环境

要使用或"激活"新环境,需要使用下面的命令,比如:激活 test 环境:

conda activate test
  • 如果直接使用 conda activate (不带环境名),会默认切回 base 环境

再次查询所有环境的列表:

$ conda info --envs
# conda environments:
#
base                     /usr/local/Caskroom/miniconda/base
test                  *  /usr/local/Caskroom/miniconda/base/envs/test

观察 * 的变化可以发现,当前已经成功切换到 test 环境

Notes: conda activate 仅适用于 conda 4.6 及更高版本

删除一个环境

删除环境需要用到 conda remove 命令:

conda remove --name ENVIRONMENT --all

比如:删除前面创建的 test 环境

conda remove --name test --all

查询所有环境的列表,看是否删除成功:

# conda environments:
#
base                  *  /usr/local/Caskroom/miniconda/base

发现已经成功删除,只剩下 base 环境。

conda 管理 Python 版本

在前面创建新环境时,conda 会默认安装在下载和安装 Anaconda/Miniconda 时使用的相同 Python 版本。

如果要使用不同版本的 Python,例如 Python 3.10.11,只需创建一个新环境并指定所需的 Python 版本即可。

创建环境时指定 Python 版本

为了方便后面比较,先查询一下 base 环境下的 Python 版本:

$ conda activate && Python -V
Python 3.10.11

然后创建一个名为 test 的包含 Python 3.7.1 的新环境:

conda create --name test python=3.7.1

验证一下是否成功,切换到 test 环境,查询 Python 版本:

$ conda activate test && Python -V
Python 3.7.1

从展示的结果来看已经成功,test 环境下的 Python 版本为我们指定的 3.7.1 版本

Conda 配置

conda 配置文件 .condarc 是一个可选的运行时配置文件[5],它允许高级用户配置 conda 的各个方面,例如它搜索包的渠道、代理设置和环境目录。

.condarc 文件可以更改许多参数,包括:

  • conda 在哪里寻找包
  • conda 是否以及如何使用代理服务器
  • conda 列出已知环境的位置
  • 是否使用当前激活的环境名称更新 Bash 提示符
  • 用户构建的包是否应该上传到 http://Anaconda.org
  • 在新环境中包含哪些默认包或功能

创建和编辑配置文件

默认情况下不包含 .condarc 文件,但它会在第一次运行 conda config 命令时自动在主目录(~)中创建。

可以通过 conda config 命令创建或修改 .condarc 文件,也可以直接在 Home 目录或者根目录直接创建或者编辑 .condarc 文件,需要注意的是,.condarc 配置文件遵循简单的 YAML 语法。

可以通过 conda info 命令来查找有关 .condarc 文件的信息:

$ conda info | grep -i config
user config file : /Users/borne/.condarc
populated config files :

配置文件的搜索路径

Conda 在以下位置查找 .condarc 文件:

if on_win:
    SEARCH_PATH = (
        "C:/ProgramData/conda/.condarc",
        "C:/ProgramData/conda/condarc",
        "C:/ProgramData/conda/condarc.d",
    )
else:
    SEARCH_PATH = (
        "/etc/conda/.condarc",
        "/etc/conda/condarc",
        "/etc/conda/condarc.d/",
        "/var/lib/conda/.condarc",
        "/var/lib/conda/condarc",
        "/var/lib/conda/condarc.d/",
    )

SEARCH_PATH += (
    "$CONDA_ROOT/.condarc",
    "$CONDA_ROOT/condarc",
    "$CONDA_ROOT/condarc.d/",
    "$XDG_CONFIG_HOME/conda/.condarc",
    "$XDG_CONFIG_HOME/conda/condarc",
    "$XDG_CONFIG_HOME/conda/condarc.d/",
    "~/.config/conda/.condarc",
    "~/.config/conda/condarc",
    "~/.config/conda/condarc.d/",
    "~/.conda/.condarc",
    "~/.conda/condarc",
    "~/.conda/condarc.d/",
    "~/.condarc",
    "$CONDA_PREFIX/.condarc",
    "$CONDA_PREFIX/condarc",
    "$CONDA_PREFIX/condarc.d/",
    "$CONDARC",
)

其中,需要特别说明的是:

  • XDG_CONFIG_HOME 是根据 XDG 基本目录规范 (XDGBDS) 定义的用户特定配置文件的存储路径
  • CONDA_ROOT 是基本 conda 安装的路径
  • CONDA_PREFIX 是当前活动环境的路径

配置间的优先级

当配置之间出现冲突时,采用以下策略:

  • Lists - merge
  • Dictionaries - merge
  • Primitive - clobber

构建 conda 配置的优先级如下所示,从左到右优先级一次递增:

  • Config files(by parse order):配置文件按照解析的顺序,优先级从高到低
    比如:"~/.config/conda/.condarc" 优先级高于 "~/.conda/.condarc"
     
  • Config files specified by $CONDARC$CONDARC 指向的配置文件优先级高于其他配置文件
     
  • Command line parameter:通过 conda config --set 命令进行配置的优先级高于配置文件
     
  • Environment variables:通过环境变量进行配置的优先级最高
  • 26
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值