用了这么多年Conda你真正了解过她吗?还说Python太差,Python简直太牛了

151 阅读6分钟

花姐来啦!今天我们要聊的可不是一般的工具,而是一个几乎每个Python开发者都绕不开的“神器”——conda。如果你用过Python开发,应该早就听说过它,那么,问题来了:你真的了解它吗?别着急,今天花姐就带你从入门到精通,把conda玩得更加溜!🎉

为什么要使用conda

首先,我们得搞清楚,conda到底是什么?简单来说,conda是一个包管理器和环境管理器,它能帮你管理Python环境(虚拟环境)以及安装各种Python库。你一定遇到过依赖包冲突的痛苦吧?那种“这个包要求版本A,而那个包要求版本B”的情况,简直让人抓狂。这个时候,conda就像是一个拯救者,帮你解决这些问题,简化了包管理和虚拟环境的设置。

我还记得刚开始用conda时,真的是一颗新星照亮了我的Python开发之路。以前每次搞环境都头大,现在有了它,一切都变得简单多了。😂

Anaconda安装教程:从零开始,一步步搞定

如果你还没安装Anaconda,别急,接下来花姐就带你一步一步来!Anaconda是一个包含了conda、Python以及一些常用数据科学库的发行版,安装它,能让你少走很多弯路。

步骤一:去官网下载

首先,打开Anaconda官网,选择适合你操作系统的版本,下载并安装。

image.png

步骤二:运行安装程序

  • Windows用户:下载后双击安装,记得勾选Add Anaconda to my PATH environment variable选项,这样就能直接在命令行使用conda命令了。

  • macOS/Linux用户:下载.sh文件,运行:

    bash Anaconda3-2024.10-1-MacOSX-x86_64.sh
    

    按照提示操作,安装过程中选择是否将Anaconda加入到PATH

步骤三:验证安装

安装完成后,打开终端,输入:

conda --version

如果显示版本号,说明安装成功!

创建和管理虚拟环境:避免“版本冲突”的困扰

最常用的功能之一,就是用conda创建和管理虚拟环境。虚拟环境让你可以在不同的项目中使用不同版本的包,互不干扰。你再也不必担心一个项目的包会把另一个项目弄得一团糟。

创建虚拟环境

conda create --name myenv python=3.10

这里的--name后面是你虚拟环境的名字,python=3.8指定了Python的版本。你也可以根据需要选择其他版本。

激活虚拟环境

conda activate myenv

看到终端前面多了个(myenv),说明你已经进入了这个虚拟环境,可以在其中安装包了!虚拟环境就像是一间私人办公室,进入后你可以做任何事,和外面的环境完全隔离。

退出虚拟环境

conda deactivate

结束工作,退出环境,轻松又干净。

安装包:再也不用担心包依赖问题

conda的包管理能力非常强,安装包时它会自动解决依赖关系,确保你的环境是干净的,避免了包版本不兼容的情况。

安装包

conda install numpy

如果你需要安装numpy,只需要这条命令,conda会自动帮你解决所有依赖问题,避免了那些“包不兼容”的烦恼。

安装指定版本的包

conda install numpy=1.18.5

有时候,项目要求你安装特定版本的库,没问题,conda可以轻松搞定。

查看已安装的包

conda list

这条命令会列出当前环境中所有已安装的包。如果你想检查某个包是否已经安装,或者它的版本是多少,conda list都能帮你解决。

升级包

conda update numpy

想把某个包更新到最新版本?用conda update就能轻松搞定。

环境备份与恢复:怕丢环境?交给conda

有时候我们创建了很多虚拟环境,如果不小心丢了或者坏了怎么办?别担心,conda有备份和恢复的功能,让你轻松找回丢失的环境。

导出环境配置

conda env export > environment.yml

恢复环境

conda env create -f environment.yml

这样一来,你就可以把原本的工作环境恢复到另一个机器或者新环境中,不用再担心重装依赖的麻烦了。

删除虚拟环境:清理时刻

有时候我们创建的虚拟环境太多,或者已经不用了,想要删除?conda也提供了这项功能。

删除虚拟环境

conda remove --name myenv --all

如果某个环境不再需要,可以通过这个命令删除。

进阶用法

使用libmamba加速器:让安装包的速度飞起来

如果你觉得conda的包安装速度有点慢,没关系,花姐来给你推荐一个加速神器——libmambalibmamba通过并行下载技术,使得包的安装速度比普通的conda快了不止一倍。

安装libmamba加速器

你可以通过以下命令安装 conda-libmamba-solver:

conda install defaults::conda-libmamba-solver

或者使用 conda-forge 渠道:

conda install conda-forge::conda-libmamba-solver
使用libmamba

1. 设置libmamba为默认求解器 如果你想让conda每次都默认使用libmamba来解决依赖,只需要执行下面的命令:

conda config --set solver libmamba

从此以后,你的conda将默认使用libmamba,在安装包和创建环境时速度大大提升。

装完mamba之后,你可以使用它来替代conda安装包。例如,安装numpy

2. 临时使用libmamba作为求解器 如果你只是想临时使用libmamba,而不想每次都设置为默认求解器,你可以在命令中指定:

conda install numpy --solver=libmamba

这样,conda会在这次安装过程中使用libmamba来解决依赖问题,其他的安装仍然使用默认的求解器。

3. 使用libmamba加速环境创建 不仅仅是在安装包时,使用libmamba可以在创建新环境时也大大加速。只需要在创建环境时加上--solver=libmamba,你就能体验到前所未有的速度。

conda create --name myenv python=3.10 numpy --solver=libmamba

智能清理术

开发久了环境容易积灰,定期打扫保平安

conda clean --all  # 清空缓存

掌握conda,工作轻松多了

从安装到使用,从包管理到虚拟环境,conda带给你的不仅仅是工具,更是一种高效开发的生活方式。

在我自己的开发历程中,conda真的帮助我省了不少力气,尤其是在管理虚拟环境和包依赖时,简直如鱼得水。希望这篇文章能帮助你从conda的小白变成高手,提升开发效率,告别那些让你抓狂的包冲突问题!🎉