conda的常规使用方法

1. 背景

  1. 经常在群里看到有人问,conda到底怎么管理,python的环境怎么隔离。或者类似于python环境管理之类的。这里做一次我经验分享。这不是最优的管理经验,只是作为一个参考。起码我就是这么用的。

  2. python的环境管理类型太多了。比如pyenvpoetryconda。各有千秋,但是我看很多做数据科学的,都是使用conda。我也是从用python开始,也就是一直使用的是conda

2. anaconda

  1. anaconda是一个公司名字;

  2. 然后这个叫anaconda公司做的一个软件也叫anaconda。这个软件可以方便你在系统上管理你的python各个版本。比如可以让你的电脑同时拥有python3.7,python3.6, python2.7等各种版本。如果有的包冲突,你也可以管理不同的环境。冲突也没什么问题。

  3. 对于什么是anacondamincondaconda

  • 3.1 anaconda从软件这个角度来说,他是把常见的科学计算包,都给你打包好了。在你安装好之后,在base环境可以直接使用。就像是一个美味的包含各种美食的一个套餐
  • 3.2 minconda相对于anaconda。就是只是给你安装了一个最基础的python。没有把numpy、pandas、sklearn等优秀的包也给你安装上去。你要自己安装,就像是给你了一碗盖浇饭,想吃别的?你要自己点。
  • 3.3 conda就是一个管理工具,可以帮助你创建、修改 环境,是anacondaminconda都带有的功能(你看名字也就看出来了)。conda可以帮助你点菜(也就是类似于pip的管理包),conda可以帮助你找饭店(比如python2.7这个饭店不符合你胃口,你就可以去找python3.9的饭店)。

3. 安装anaconda

在学习python的时候,安装python的环境,你只要无脑安装anaconda就行了。安装方式和教程,看我之前的文章,也就是下面的这个二维码:

conda的常规使用方法_第1张图片

4. conda必备技能

4.1. 查看解锁了多少家餐厅

conda env list

这个命令可以让你看到电脑上有那些环境。
conda的常规使用方法_第2张图片

比如上面的图中,base环境只要是你安装了anaconda(包括minconda)都会有的。
比如别的环境devforgroup等都是我自己装的,每个人都不一样。

大部分培训班说到这可能就不说了,但是这里有个大坑。

  1. 一般来说自带的base确实即开即用,非常方便,但是你要是自己在base环境中,安装一些乱七八糟的包,就会把你的base环境搞崩溃。最后让你conda都损坏。有人可能问,有什么包会把环境搞坏呢。其实就是谷歌这鳖孙做的tensorflow包就很容易把环境搞坏了。
  2. base这个环境承载的意义不一样,我们常用的conda、navigator都是在base环境中(我推测的)。所以base真的不可以乱动。
  3. base不能乱动,那我怎么用?请继续向下看。

4.2. 选餐厅

很多时候,在我们不知道哪家餐厅怎么样的时候,其实默认就是最好的。也就说虽然base环境我们不能瞎搞,但是内置了很多被anaconda选好的包,他们各个之间都不会互相冲突的。

所以虽然我们base环境不能直接拿来定制,但是我们复制一份,然后在复制的这一份上,做pip安装包、conda安装包之类的。

那么现在,我们基于base环境,做一个我们自己的环境,这个环境名称叫xbh0514(含义是学不会0514。

conda create -n xbh0514 --clone base
  1. create 代表创建一个新的环境(或者叫新餐厅).
  2. -n是后面接名称,我这里设置的名称为xbh0514.
  3. --clone代表克隆一个环境,从哪里克隆?从base环境克隆.

运行上面的这句话,等一会就可以看到下面的内容了:
conda的常规使用方法_第3张图片

conda的常规使用方法_第4张图片

4.3. 进入餐厅

上面的选餐厅之后,而且餐厅也盖完了,那你肯定要看看这个餐厅怎么样。怎么进去呢。就是直接使用下面命令进去。

conda activate xbh0514

进来之后,你想要安装包,比如你想要安装的包的名字叫geopandas(我讨厌死这个包了)。

你可以直接使用pip安装,也可以使用conda安装,都是差不多的。

4.4. 怎么出餐厅

进入餐厅后,怎么出来呢?

conda deactivate

4.5. 餐厅倒闭了怎么关闭

当你进入餐厅后,你发现里面的各个菜在互相打架(不同的python包互相不兼容,最后导致环境崩溃)。那么你这个时候就要关闭餐厅了。

conda remove -n forgroup --all
  1. 上面就把forgroup这个环境删掉了(这个环境里面的所有内容,包括环境的名字,全都删掉,就没人知道你开过这家餐厅了)。那么你要是想要删除xbh0514环境,你把forgroup改为
    xbh0514就行了。
  2. 但是window系统一般除非重启一次,不然还是会在文件夹下留有一个和环境相同的名字的文件夹。实在不行,你执行上面的步骤后,再去删除文件夹。

4.6 环境介绍

要注意下面几点:

  1. 上面的xbh0514环境和base后面,没有任何关系。
  2. 要严格准守conda的要求,有什么需求,多去查查,不会百度,就去bing、搜狗都是可以的。
  3. 别老想着在window系统安装的环境怎么传递到linux环境。这种肯定会出现问题。(但是好像conda可以在同一局域网下分享环境,我没操作过,不清楚)。

5. 编辑器里面选择环境

5.1 基于pycharm专业版(普通版差不多)

conda的常规使用方法_第5张图片
conda的常规使用方法_第6张图片

conda的常规使用方法_第7张图片

conda的常规使用方法_第8张图片

注意勾选☑️ 可用于所有项目,最后点击确定。添加好之后,就可以在python解释器看到列表:

conda的常规使用方法_第9张图片
以后一步步选择,确定就好了。

conda的常规使用方法_第10张图片
看看右下角环境已经从dev换成了xbh0514。(这个时候,你电脑如果咆哮了,那就说明pycharm开始为这个xbh0514环境构建索引了。)

5.2 基于vscode

你的vscode起码要有对应的python插件,比如下面这几个:
conda的常规使用方法_第11张图片

5.2.1 对于全局环境

conda的常规使用方法_第12张图片

打开terminal,看一下有没有切换好:
conda的常规使用方法_第13张图片

已经切换好了。

5.2.2 对于ipynb环境

conda的常规使用方法_第14张图片
conda的常规使用方法_第15张图片
conda的常规使用方法_第16张图片

最后

  1. 本文算是我对conda介绍的最多的一次,也对pycharm、vscode这两个工具做了基本的延伸。
  2. 每次遇到小问题,先看包是不是安装好了,在看是不是环境用对了,经常遇到的情况是:包安装在环境A, 结果在环境B里面找不到包
  3. 后面不会再介绍关于conda环境管理的内容了,上面的这些知识基本上够用了。如果遇到跟多问题,去使用搜索引擎。推荐bing、搜狗、谷歌等。

阅读更多

list

你可能感兴趣的:(python,python,conda)