是否有可能在Google-colab中激活virtualenv? (/ bin / sh:1:source:not found)

时间:2018-01-30 01:32:03

标签: virtualenv theano google-colaboratory

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

!pip3 install virtualenv
!virtualenv theanoEnv

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

!source /content/theanoEnv/bin/activate theanoEnv

错误消息是:

/bin/sh: 1: source: not found

甚至可以吗?:

source /[SomeVirtualEnv]/bin/activate SomeVirtualEnv

3 个答案:

答案 0 :(得分:1)

简短的回答,我不相信这是可能的,尽管你总是可以运行

!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

我把“哪个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的人可以解释这是否可行。

答案 1 :(得分:1)

尝试运行此命令

!sudo apt-get install python3-venv

或者试试这个包

https://pypi.org/project/colab-env/

答案 2 :(得分:0)

  

基本上每个!命令在自己的外壳中运行,而协作实验室不知道环境已更改

我想出了一个解决方法。由于每个外壳都是临时的,因此我们将环境激活命令和要在环境中执行的命令缝合在一起。

所以做完之后

!pip3 install virtualenv
!virtualenv theanoEnv

您可以通过

在环境中安装theano
!source /content/theanoEnv/bin/activate; pip3 install theano

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

即可
!source /content/theanoEnv/bin/activate;

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

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

您可以通过以下方式缝合多个命令:(所有命令都将在同一shell中执行)

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

您可以在Colab here上检查我的笔记本。