[✔️]Python多版本管理工具:Conda

186 阅读2分钟

Conda 是一个跨平台、开源的包管理器和环境管理系统,它可以在同一计算机上管理多个 Python 环境以及它们的依赖项。使用 Conda,您可以轻松创建、安装、更新和删除软件包,以及管理不同版本的软件包和依赖项。

Conda 不仅限于 Python 包,还支持许多其他语言和工具的软件包和依赖项,如 R、Julia、Scala、TensorFlow 等,这使得 Conda 成为单一工具来管理所有项目的依赖项的绝佳选择。

下载地址:

docs.conda.io/en/latest/m…

同时你还会发现另一个叫miniconda,区别就是miniconda是一个轻量级的版本,只包含 conda 和最基本的 Python,而且包体会小一点,如果自己只需要管理Python,miniconda是首选。

设置环境变量

将condabin目录加入到环境变量,里面有condat.bat,这个是命令的入口

image.png

创建虚拟环境

conda create -n python_2.7.13 python=2.7.13

这里关于python有哪些值可选,可以通过search命令查看

>conda search python
Loading channels: done
# Name                       Version           Build  Channel
python                        2.7.13     h1b6d89f_16  pkgs/main
python                        2.7.13     h9912b81_15  pkgs/main
python                        2.7.13     hb034564_12  pkgs/main
python                        2.7.14     h2765ee6_18  pkgs/main

激活虚拟环境

conda activate python_2.7.13

退出虚拟环境

conda deactivate

查看虚拟环境

>conda env list
# conda environments:
#
base                     C:\Users\cc\miniconda3
python_2.7.13            C:\Users\cc\miniconda3\envs\python_2.7.13

删除虚拟环境

conda remove -n python_2.7.13 --all

查看已经安装的包

conda list

卸载已经安装的包

conda uninstall solox

这个命令时不时会出一些问题,卸载失败 这个时候,就可以尝试以下两种卸载命令:

conda remove XXX

pip uninstall XXX

添加源

conda config --add channels  https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r

待验证:

mirrors.ustc.edu.cn/pypi/web/si…

查看源

conda config --show channels

查看配置文件的相关信息

conda config --show-sources
==> /Users/xyf/.condarc <==
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
  - defaults

上边使用的是清华的镜像

导出环境:

可以使用 conda env export > environment.yml 导出当前虚拟环境的依赖项列表到一个 YAML 文件中,以便共享或备份。

导入环境:

可以使用 conda env create -f environment.yml 命令从一个 YAML 文件中创建一个新的虚拟环境。

注意事项

需要注意的是,每次使用指定版本的Python时,我们都需要在命令中手动激活虚拟环境,然后在这个cmd环境下,使用的Python才是我们需要的,如果我们要做一些命令行自动化工具时,也是需要记得在脚本中增加激活虚拟环境的相关指令代码,否则就使用的默认的,可能不是我们所需要的。