Anaconda 中使用 conda 配置虚拟环境与管理安装包

本文将介绍 Anaconda 的进阶使用:用 conda 配置虚拟环境、 package(安装包)的管理、以及导入或导出虚拟环境。如果您没用过 Anaconda,请先阅读上一篇文章:Anaconda安装和初步使用

一、为什么要配置虚拟环境?

既然 Anaconda 已经安装了这么多工具库(或者说 packages),做到了“开箱即用”,那直接在上面开发就好了,为什么还要建立虚拟环境呢?这个疑问可能是很多人刚认识虚拟环境时的第一反应。

我们先来看看虚拟环境的使用场景。设想一下:你有一个应用,需要 NumPy 1.18.1 以上版本,而另一个应用使用的是 NumPy 1.15.1,你要如何同时使用两个应用呢?

你可能会说,不是越新的越好吗?一律用最新版本的 NumPy 就好了。

不一定哦,如果都用最新版本,有时可能会出现不兼容的情况。在库的开发中,很多库都调用了一些其它的库,这样不需要重复造轮子。比如说某个库 A 开发时是基于 NumPy 1.15.1,如果 NumPy 升级中对一些函数做了修改,那么库 A 调用 NumPy 这些函数时可能会出现问题,导致不兼容。举个例子,早段时间我安装了 Jupyter Notebook 的扩展 jupyter_contrib_nbextensions,这样可以让 Jupyter Notebook 页面有更多功能,比如显示目录。在使用时,发现命令行终端老在报提示信息,“Config option ‘template_path’ not recognized by …”。在网上搜索,发现原因在于 jupyter_contrib_nbextensions 的依赖库之一 nbconvert 是 5.6.x 版本,而新版本 Anaconda 中安装的 nbconvert 是 6.x 版本。有一个文件夹在两个版本的 nbconvert 中命名分别是 ‘template_paths’ 和 ‘template_path’,就是这一个字母之差,就识别不出来。解决方法是重新安装,把 nbconvert 版本降到 5.6.1。这样 jupyter_contrib_nbextensions 的问题是解决了,但是可能其它库是基于 nbconvert 6.x 开发的,那又会出现新的问题。

Anaconda 的默认环境,叫 base,这个环境中已经安装了一些 packages。打个比方, base 环境就像一个大车间,里面已经有了各种工具,大家都可以用,但是每个工具只有一种型号 ( 每个 package 只能有一个版本 )。

那如果我需要用不同的型号呢?新开一个空的小车间(虚拟环境),按自己的需要存入工具,这样可以满足对于特定型号工具(不同版本的 package)的要求。不同的车间(虚拟环境)在不同位置,它们互不联系,因此互不影响。

我们也常会看到建议:开发自己的程序时,尽量建立一个虚拟环境。 为什么呢?这篇文章 提到,因为 base 环境中的工具库太多,其实开发时只需要一小部分。建立虚拟环境的好处,一是精简:只安装自己需要的库。二是稳定:安装 package,升级 package 等,都只在虚拟环境。换言之,如果不同的 package 因为版本不兼容,出现问题,再新建一个虚拟环境,而 base 环境不会受到影响。如果别人需要运行你开发的程序,可以把虚拟环境中的 packages 版本以列表的形式打包,随代码一起发过去(这就是后面会介绍的导出或导入虚拟环境),这样对方也可以在相同的环境配置中运行。

二、配置清华源

配置清华源,就是把 conda 中 package 的下载地址,改为清华镜像站,这样下载安装包速度更快。前面提到,新建虚拟环境相当于新开一个空房间,里面没有东西,因此,我们要在虚拟环境中安装需要的库,配置清华源可以加快这一安装进程。

清华镜像站-anaconda镜像页 上有配置指南,步骤如下:

1.Windows 用户无法直接创建名为 .condarc 的文件,可先执行 conda config --set show_channel_urls yes 生成该文件之后再修改。

2.到电脑的“用户”文件夹中,找到 .condarc 文件并打开(可以用 VSCode 或 记事本 打开),把 清华镜像站-anaconda镜像页 上的 condarc 配置语句复制进去即可。

3.然后,在 Anaconda Prompt 中运行 conda clean -i 清除索引缓存,保证用的是镜像站提供的索引。

执行完上述操作后,输入 conda info ,在 channel URLs 一项中,发现地址从原来的 https://repo.anaconda.com 换成了清华镜像站地址,如下图所示:

channel URLs

注:网上教程介绍的 另一种方法 是在 Anaconda Prompt 中修改,语句为 conda config --add channels https://……,我试了一下,是把清华源链接添加在 .condarc 文件 的 “channels” 一项中。而清华镜像站的教程是 “channels” 项保持不变,后面添加了两项:“default_channels” 和 “custom_channels”,用于存放清华源链接。两种方法是否相同,还是有什么区别,我也不知道(欢迎指教,谢谢!),我参考的是清华镜像站的教程。

三、如何配置和使用虚拟环境

3.1 虚拟环境基本操作

下面以例子来说明怎么建立、使用或是删除虚拟环境。比如:想新建一个名为 ‘pytest’ 的虚拟环境,打开 Anaconda (Powershell) Prompt,输入语句:

(1)新建虚拟环境conda create -n pytest

  • 46
    点赞
  • 269
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
配置conda虚拟环境,可以按照以下步骤进行操作: 1. 安装conda:首先,你需要安装MinicondaAnaconda,这是一个包含condaPython发行版。你可以从Miniconda的官方网站(https://docs.conda.io/en/latest/miniconda.html)或Anaconda的官方网站(https://www.anaconda.com/products/individual)下载适合你操作系统的安装程序,并按照指示进行安装。 2. 创建虚拟环境:打开终端或命令提示符窗口,在命令行输入以下命令来创建一个新的虚拟环境: ``` conda create --name <虚拟环境名称> ``` 其,`<虚拟环境名称>`是你想要给虚拟环境起的名称。例如,如果你想要将虚拟环境命名为`myenv`,则可以输入: ``` conda create --name myenv ``` 3. 激活虚拟环境:创建虚拟环境后,需要激活它才能使用。在终端或命令提示符输入以下命令来激活虚拟环境: ``` conda activate <虚拟环境名称> ``` 替换`<虚拟环境名称>`为你所创建的虚拟环境名称。例如,如果你的虚拟环境名称为`myenv`,则可以输入: ``` conda activate myenv ``` 4. 安装包:在激活的虚拟环境,你可以使用conda或pip来安装所需的Python包。例如,使用conda安装numpy包的命令如下: ``` conda install numpy ``` 或者,使用pip安装numpy包的命令如下: ``` pip install numpy ``` 这样,你就可以在配置好的虚拟环境进行开发和运行代码了。如果你想退出虚拟环境,可以在终端或命令提示符执行以下命令: ``` conda deactivate ``` 希望这些步骤对你有帮助!如果你有任何其他问题,请随时提问。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值