在COLAB上面安装CANDA


在Colab上面安装Canda
问题

对于许多流行的数据科学工具(包括Pandas,Scikit-Learn,PyTorch,NVIDIA Rapids等),Conda是推荐的环境和程序包管理解决方案。 Conda还大大简化了安装流行的深度学习工具(如TensorFlow)的过程。

Google Colab是一项免费服务,它通过与Jupyter笔记本非常相似的用户界面提供交互式计算资源,它在Google Cloud Platform(GCP)上运行,并提供对GPU和TPU的免费访问。 Google Colab是一个出色的教学平台,也许也是唯一可与同行共享GPU或TPU加速代码的免费解决方案。 不幸的是,默认情况下,Conda在Google Colab上不可用,要在Google Colab的默认Python环境中安装Conda并使其正常工作是一件麻烦的事。

在本文中,我将引导您完成在Google Colab中工作时需要使用Conda安装软件包的过程。

安装步骤

第一步

首先,您需要确认Google Colab默认使用的是哪个Python。 运行以下命令将返回默认Python可执行文件的绝对路径。

1
!which python    # should return /usr/local/bin/python

现在检查该默认Python的版本号。

1
!python --version

在编写上述命令时,将返回Python 3.6.9。 这意味着,要使用所有预装的Google Colab软件包,您将需要安装默认情况下与Python 3.6兼容的Miniconda版本。 默认情况下,Miniconda的最新版本(即4.5.12+)定位于Python 3.7或Python 3.8。 针对Python 3.6的Miniconda最新版本是Miniconda 4.5.4,因此这是您应该安装的版本。

最后,检查是否已设置PYTHONPATH变量。

1
!echo $PYTHONPATH

在编写此命令时,仅返回/ env / python(奇怪的是,该目录似乎在Google Colab文件系统中不存在)。

通常,在安装Miniconda之前先取消设置PYTHONPATH变量是一个好主意,因为如果PYTHONPATH中包含的软件包安装且可通过与Miniconda包含的Python版本不兼容的目录访问,则可能导致问题。

您可以使用以下命令取消设置PYTHONPATH变量。 此步骤是可选步骤,但如果您未设置此变量,则在安装Miniconda后会看到警告消息。

1
%env PYTHONPATH=

第二步:安装Miniconda

在Google Colab单元中执行时,以下代码将下载适用于Miniconda版本的安装程序脚本,并将其安装到/ usr / local。 直接安装到/ usr / local而不是默认位置?/ miniconda3可以确保Conda及其所有必需的依赖项将自动在Google Colab中使用。

1
2
3
4
5
6
%%bash
MINICONDA_INSTALLER_SCRIPT=Miniconda3-4.5.4-Linux-x86_64.sh
MINICONDA_PREFIX=/usr/local
wget https://repo.continuum.io/miniconda/$MINICONDA_INSTALLER_SCRIPT
chmod +x $MINICONDA_INSTALLER_SCRIPT
./$MINICONDA_INSTALLER_SCRIPT -b -f -p $MINICONDA_PREFIX

一旦安装了Miniconda,您应该能够看到Conda可执行文件

1
!which conda # should return /usr/local/bin/conda

然后查看conda的版本号

1
!conda --version # should return 4.5.4

请注意,在安装Miniconda时似乎不会影响Python可执行文件

1
!which python # still returns /usr/local/bin/python

但是Miniconda安装了一个不同版本的python

1
!python --version # now returns Python 3.6.5 :: Anaconda, Inc.

第三步:更新Miniconda

现在,您已经安装了Conda,您需要将Conda及其所有依赖项更新到最新版本,而无需将Python更新到3.7(或3.8)。 下面的conda install命令实际上将Conda更新为最新版本,同时将Python版本固定为3.6。 然后,conda update命令将所有Conda的依赖项更新为它们的最新版本。

1
2
3
%%bash
conda install --channel defaults conda python=3.6 --yes
conda update --channel defaults --all --yes

然后你就可以通过检查Conda版本号来确认这次更新

1
!conda --version # now returns 4.8.3

然后注意到python的版本又更新了

1
!python --version # now returns Python 3.6.10 :: Anaconda, Inc.

第四步:添加到系统路径

现在您已经安装了Miniconda,您需要将Conda将要安装软件包的目录添加到Python在寻找要导入的模块时将搜索的目录列表中。 您可以通过检查sys.path来查看Python在寻找要导入的模块时将搜索的目录的当前列表。

1
2
import sys
sys.path

Google Colab上的sys.path如下所示。

[’’, ‘/env/python’, ‘/usr/lib/python36.zip’,
‘/usr/lib/python3.6’, ‘/usr/lib/python3.6/lib-dynload’,
‘/usr/local/lib/python3.6/dist-packages’, # pre-installed packages
‘/usr/lib/python3/dist-packages’,
‘/usr/local/lib/python3.6/dist-packages/IPython/extensions’,
‘/root/.ipython’]

请注意,Google Colab随附的预安装软件包已安装在/usr/local/lib/python3.6/dist-packages目录中。 您可以通过简单列出该目录的内容来了解可用的软件包。

1
!ls /usr/local/lib/python3.6/dist-packages

与Conda一起安装的所有软件包都将安装在目录/usr/local/lib/python3.6/site-packages中,因此您需要将此目录添加到sys.path中,以便可以导入这些软件包。

1
2
3
import sys
_ = (sys.path
        .append("/usr/local/lib/python3.6/site-packages"))

请注意,因为包含预安装的Google Colab软件包的/usr/local/lib/python3.6/dist-packages目录出现在Conda安装软件包的/usr/local/lib/python3.6/site-packages目录之前 ,则通过Google Colab提供的软件包的版本将优先于通过Conda安装的同一软件包的任何版本。

第五步:安装套件

现在,您需要做的就是安装您喜欢的软件包。 只需记住在安装软件包时包括–yes标志,以避免提示您确认软件包计划。

1
!conda install --channel conda-forge featuretools --yes

总结

在本文中,我介绍了在需要使用Conda来管理Google Colab上的程序包时用于安装和配置Miniconda的过程。 希望这将在您下次需要在Google Colab上共享由Conda管理的数据科学项目时为您提供帮助。

注:本文原文网站:https://towardsdatascience.com/conda-google-colab-75f7c867a522
由于该文章是英文的,所以我把它翻译成了中文,以便大家参考。