之前因此要用到特定版本的 Python,就在电脑上装了 Anaconda,这里写一下关于 Python 环境管理的基本方法,以防忘记。

对于 Python 中的一些概念,可以看这篇文章

什么是 Anaconda

先看看对 Anaocnda 的介绍:

Anaconda 指的是一个开源的 Python 发行版本,其包含了 conda、Python 等180多个科学包及其依赖项。因为包含了大量的科学包,Anaconda 的下载文件比较大。如果只需要某些包,或者需要节省带宽或存储空间,也可以使用 Miniconda 这个较小的发行版(仅包含 conda 和 Python)。

 那 conda 又是什么:

conda 是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。

环境管理

安装 Anaconda 主要是为了使用不同版本的 Python,因此先来看看怎么进行 Python 环境的管理。

创建环境——conda create

我们之前提到过,Anaconda 表明的是一个开源的 Python 发行版本,其中包含了 conda、Python 等180多个科学包及其依赖项。也就是说,在 Anaconda 安装完成后,是存在一个 Python 环境的,这个环境就叫做 base,也就是默认环境。先看看系统中都存在什么环境,在终端输入

conda env list

结果为:

# conda environments:
#
base                  *  /opt/Anaconda3

而 Anaconda 也能够创建区别于 base 环境的不同 Python 环境,在终端输入:

conda create -n python35 python=3.5

之后会让你确认哪些包会被下载,哪些包会被安装,确认之后就是等待安装了,一般情况下都很快。之后再次看看系统中都存在哪些 Python 环境:

conda env list

 结果为:

base 上方的 python35 就是我们创建的 python 环境,对应的 python 版本为 3.5,环境名为 python35。

环境路径

创建完环境之后,我们来看看环境安装在哪里。

首先是 base 环境,上图给出了 base 环境的位置,该目录就是 anaconda 安装后的 base 环境。

而自己安装的环境显示为 home 目录。

环境切换——activate

环境创建之后就需要使用了,不过默认使用的都是 base 环境,上图中环境前方的 “*” 就表明是当前的环境。如果想要切换到 python35 就需要使用 activate 命令:

source activate python35

从上边可以看到,环境此时成功地从 base 切换到了 python35。“*” 符号也移动到了 python35 的路径前,同时在终端的命令提示符的行首出现了 “python35” 的字样,也表明此时的 python 环境为 python35。

base 环境和自定义环境的区别

在上一部操作中,我们将环境切换到了 python35,此时我们想使用一些比较特殊的工具,如 numpy。我们首先打开 python 解释器,然后使用命令导入numpy:

import numpy

但是会出现下面的提示:

提示我们没有 numpy 这个模块。之前关于 anaconda 的介绍时,我们提到 anaconda Anaconda 包含了 conda、Python 等180多个科学包及其依赖项。但是这里却并没有发现 numpy 的存在,如果之前创建环境的信息还没有被清除的话,在终端中我们能够看到关于 python35 的一些安装信息:

上边的图片提示我们 anaconda 在创建环境的时候并没有安装那么多的依赖项,相反只是安装了一些必要的工具。这提醒我们如果需要使用其它工具的话,需要自己手动安装。不过在此之前我们先看看 base 环境中都存在什么工具,新开一个终端,打开 python 解释器并查看工具列表,之后导入工具:

从上边的结果我们可以知道:

  • 新打开的终端的 python 环境还是默认的 base
  • 可以分别通过两个终端使用不同的 python 环境,且互不干扰
  • base 环境的工具要比新建的完整的多

安装/卸载第三方工具——conda install/uninstall

新建的 python35 环境里边什么都没有,如果要使用什么工具的话,就需要自己手动安装了,如 numpy:

conda install numpy

或者是:

pip install numpy

安装完成进入解释器再次导入:

这次就成功地导入了。卸载也是同样的操作:

conda uninstall numpy

或是:

pip uninstall numpy

这样就将包从当前的环境中删除了。

退出当前环境——conda deactivate

python35 环境使用结束后,就要退出当前环境,使用命令:

conda deactivate

执行上边的命令之后,就退出了当前的 python 环境。但是在 base 环境中是无法使用此命令的,因此没有环境可以用来退出了。

其实直接关闭终端就能够退出当前的 python 环境,因为默认新建终端的 python 环境是 base。但是如果不想关掉当前终端的话,还是退出的好。

查看环境中的工具信息——conda list

之前为了对比 base 环境和 python35 环境的区别,我们列出了 base 环境中的工具包信息,如果需要列出当前 python 环境中的工具包信息,使用:

conda list

导入导出环境——conda env export

除此之外,conda 还支持环境的导入和导出,这就意味着再也不用配置环境头疼了,只需要将获得的环境文件导入就可以了。对于我们创建的环境 python35,我们可以将之导出,之后删除本地的 python35 环境,再将导出的环境文件导入。命令分别为:

# export command
conda env export > envname.yaml
# conda env export > envname.properiter

# remove environment
conda remove -n envname --all

# import command
conda env create -f envname.yaml
# conda env create -f envname.properiter

上面的结果显示:

  • 导出环境会在当前目录生成环境文件
  • 环境文件包含了环境的全部信息,包括环境名,因此导出后直接导入是不可行的
  • 导入后的环境与之前的环境完全一样,包括环境名
  • 不管何种方式创建的环境,都是保存在了 home 目录

删除环境——conda remove

之前提到过的删除环境命令为:

conda remove -n envname --all

换源

因为目前由于版权问题,anaconda已经不再支持国内的仓库更新,也就是说国内的镜像,如清华、中科大等都没有最新的 anaconda 库,所以通常情况下就保持默认源就好了,不需要更换。

但是默认源下的下载速度真的是十分感人,所以对工具的版本没有特定需求的话,也可以换源,毕竟速度会快。

恢复默认源

conda config --remove-key channels

清华源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/

conda config --set show_channel_urls yes

中科大源

conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/

conda config --set show_channel_urls yes

最后一行代码可以显示工具包的来源,原则上有没有不影响结果。

除了换源的操作

有时候需要使用最新的工具包,但是换源后没最新的工具,不换源速度又很慢,这时候就需要别的操作了。

VPN

不得不说,金钱有时候真的是万能的。

离线安装

  1. 首先我们需要有 anaconda 第三方库的一个地址
  2. 然后找到对应的平台
  3. 下载代码(浏览器,迅雷等工具)
  4. 本地安装

Pycharm 与 Anaconda 环境

通常情况下,我们都希望开发环境是友好的。通常情况下,编写 python 代码会使用的 IDE 为 pycharm。

在 pycharm 中,如果要使用到 anaconda 创建的环境,只需要将之前提到过的 python 安装位置对应添加到 pycharm 项目中的 project interpreter中即可。

 

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐