19

我正在尝试在 Google Colab 中安装 theano 进行测试。我已经安装virtualenv并创建了一个环境:

!pip3 install virtualenv
!virtualenv theanoEnv

但是即使明确提到“激活”命令的位置,也无法激活虚拟环境。

!source /content/theanoEnv/bin/activate theanoEnv

错误信息是:

/bin/sh: 1: source: not found

甚至有可能做到吗?:

source /[SomeVirtualEnv]/bin/activate SomeVirtualEnv
4

3 回答 3

8

基本上每个!命令在自己的 shell 中运行,并且 Colaboratory 不知道环境已更改

我想出了一个解决方法。由于每个shell都是临时的,所以我们将环境激活命令和要在环境中执行的命令拼接起来。

所以在你这样做之后

!pip3 install virtualenv
!virtualenv theanoEnv

您可以通过以下方式在环境中安装 theano

!source /content/theanoEnv/bin/activate; pip3 install theano

由于环境内容存储在磁盘上的anoEnv 目录中,因此它被保留了下来。但是您需要为每个新外壳激活它。对于您需要在环境中运行的每个命令,只需在其前面加上

!source /content/theanoEnv/bin/activate;

例如,要获取pip3 list环境中已安装的 python 包(即运行)的列表,请运行:

!source /content/theanoEnv/bin/activate; pip3 list 

您可以通过这种方式拼接多个命令:(所有命令都将在同一个 shell 中执行)

!source /content/theanoEnv/bin/activate; COMMAND1; COMMAND2; COMMAND3 

你可以在这里查看我在 Colab 上的笔记本。

于 2019-07-22T09:10:12.607 回答
8

简短的回答,我不相信这是可能的,虽然你总是可以跑

!pip3 install theano

我能够激活 virtualenv,但我不相信您可以切换当前笔记本以使用新创建的 virtualenv。

!pip3 install virtualenv
!virtualenv theanoEnv
!echo '#!/bin/bash \n . ./theanoEnv/bin/activate theanoEnv \n which python3'  > source_theanoEnv.sh && chmod +x source_theanoEnv.sh && ./source_theanoEnv.sh && which python3
!which python3

我将“which python3”放在 3 个地方,结果是

/content/theanoEnv/bin/python3
/usr/bin/python3
/usr/bin/python3

所以看起来“激活”只是暂时的,而 Colaboratory/Jupyter 仍在使用 /usr/bin/python3

基本上每个!命令在自己的 shell 中运行,并且 Colaboratory 不知道环境已更改

我希望我可以按照这些步骤 https://help.pythonanywhere.com/pages/IPythonNotebookVirtualenvs/

/content/theanoEnv/bin/pip3 install ipykernel
/content/theanoEnv/bin/python3 -m ipykernel install --user --name=theanoEnv

但我不知道将 kernel_class 设置为什么

%config IPKernelApp.kernel_class='???'

此外,即使上述方法有效,我也不相信有办法重新启动笔记本电脑以使用新内核。

也许更精通 Jupyter/Colaboratory 的人可以解释这是否可能。

于 2018-02-07T04:13:48.870 回答
1

尝试运行此命令

!sudo apt-get install python3-venv

或试试这个包

https://pypi.org/project/colab-env/
于 2021-05-25T06:01:37.747 回答