google colab [google-colaboratory] ​​中的 conda 环境

Posted

技术标签:

【中文标题】google colab [google-colaboratory] ​​中的 conda 环境【英文标题】:conda environment in google colab [google-colaboratory] 【发布时间】:2019-04-01 13:18:21 【问题描述】:

我正在尝试在 google colab notebook 中创建一个 conda 环境。我使用以下命令成功安装了 conda

!wget -c https://repo.continuum.io/archive/Anaconda3-5.1.0-Linux-x86_64.sh

!chmod +x Anaconda3-5.1.0-Linux-x86_64.sh

!bash ./Anaconda3-5.1.0-Linux-x86_64.sh -b -f -p /usr/local

系统使用的默认 python 现在是 Python 3.6.4 :: Anaconda, Inc.

我正在尝试通过 conda env create -f environment.yml

在 conda 中创建一个环境

每个软件包都已成功安装,但现在的问题是我无法激活此环境。 我试过 source activate myenv。但它也没有用。

conda env list 命令之后,我得到了两个环境

基础 * /usr/local

myenv /usr/local/envs/myenv

谁能帮助我如何切换到“myenv”环境? 任何帮助将不胜感激。

提前致谢。

【问题讨论】:

你好@aryan。你想通了吗?我在尝试在 google colab 中运行 rlgarage 时遇到了类似的问题 @matanster 谢谢您的回复。是的,我们可以在本地进行,但我认为 google collab 不允许切换到任何其他 conda 环境。 @shadi,我无法创建 conda 环境,而是使用 pip 安装了所有必需的库。 对此有任何更新,我想在 Google collab 上创建一个 conda env 我也在努力让它工作。我可以让 !source activate myenv 运行,但它仅在单元处理 !命令。 !conda create --name test37 python=3.7 然后!source activate test37 && conda list !conda list 一旦!命令完成后,下一个命令将恢复为原始环境。我怀疑!命令打开一个临时外壳,运行命令,然后关闭... 【参考方案1】:

您可以使用神奇的 %%bash 命令在 Google Colab 中激活并运行新的 conda 环境:

%%bash
source activate myenv

python
import sys
# some simple python commands
sys.path.append('/usr/local/lib/python3.6/site-packages')
print(sys.path)

print("Python version")
print(sys.version)

还包括我需要运行以完全设置环境的一些其他命令:

!conda update conda -y -q
!source /usr/local/etc/profile.d/conda.sh
!conda init 
!conda install -n root _license -y -q

【讨论】:

您是在 bash 脚本之前还是之后运行了“其他”命令?另外,它们需要在创建的环境中运行,还是在默认环境中运行? @EmmanuelB,我先从默认环境运行了其他 4 个命令【参考方案2】:

我在/usr/local 中安装了 conda 包并且工作正常

!wget -c https://repo.continuum.io/archive/Anaconda3-5.1.0-Linux-x86_64.sh

!chmod +x Anaconda3-5.1.0-Linux-x86_64.sh

!bash ./Anaconda3-5.1.0-Linux-x86_64.sh -b -f -p /usr/local

sys.path.append('/usr/local/lib/python3.6/site-packages')

然后你可以安装任何你想要的包

!conda install -q -y --prefix /usr/local -c pytorch -c tensorcomp tensor_comprehensions

【讨论】:

我认为这个过程使用的是基本环境,这是您登录时的默认设置。问题是创建一个新的 conda 环境,然后激活该环境以便您可以使用它。【参考方案3】:

快速修复

!source activate myenv &&放在所有 bash 命令之前

!source activate myenv && <COMMAND1>

例如

!source activate myenv && conda env list

基础/usr/local

myenv * /usr/local/envs/myenv

理由:

无论如何,我们必须将! 放在您的 bash 命令前面... 但我很想知道更好的方法。

【讨论】:

【参考方案4】:

一个非常快速的解决方法是运行命令:

source PATH/to/activate env_name

https://github.com/ContinuumIO/anaconda-issues/issues/9539

【讨论】:

此方案不会跨Colab的cells持久化,环境恢复默认

以上是关于google colab [google-colaboratory] ​​中的 conda 环境的主要内容,如果未能解决你的问题,请参考以下文章

google.colab 模块中是不是有关闭运行时的功能

从 Google Drive 读取图像时,Google Colab 太慢了

Google Colab使用学习笔记

如何在 google colab 中启用拼写检查器(colab 在 linux OS 上运行)?

如何在 Google 的 Colab 中安装 Python 包?

我们如何在 colab.research.google.com 中使用 Selenium Webdriver?