web-dev-qa-db-ja.com

Google-colabでvirtualenvをアクティブ化することは可能ですか? (/ bin / sh:1:ソース:見つかりません)

テストのためにtheanoをGoogleColabにインストールしようとしています。 virtualenvをインストールし、環境を作成しました。

!pip3 install virtualenv
!virtualenv theanoEnv

ただし、「activate」コマンドの場所を明示的に指定しても、仮想環境をアクティブ化することはできません。

!source /content/theanoEnv/bin/activate theanoEnv

エラーメッセージは次のとおりです。

/bin/sh: 1: source: not found

することさえ可能ですか?:

source /[SomeVirtualEnv]/bin/activate SomeVirtualEnv
9
Ryan Y

簡単に言えば、いつでも実行できますが、それが可能だとは思いません

!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

「whichpython3」を3か所に配置しました。結果は次のとおりです。

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

したがって、「アクティブ化」は一時的なものであり、Colaboratory/Jupyterはまだ/ usr/bin/python3を使用しているようです。

基本的にそれぞれ!コマンドは独自のシェルで実行され、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に精通している誰かが、これが可能かどうかを説明できるでしょう。

4
joebarbere

基本的にそれぞれ!コマンドは独自のシェルで実行され、Colaboratoryは環境が変更されたことを認識しません

私はこれの回避策を見つけました。各シェルは一時的なものであるため、環境アクティベーションコマンドと環境で実行するコマンドをつなぎ合わせます。

だからあなたがした後

!pip3 install virtualenv
!virtualenv theanoEnv

あなたは環境にtheanoをインストールすることができます

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

環境の内容はディスクのanoEnvディレクトリに保存されるため、保存されます。ただし、新しいシェルごとにアクティブ化する必要があります。環境内で実行する必要のあるすべてのコマンドについて、プレフィックスを付けるだけです。

!source /content/theanoEnv/bin/activate;

たとえば、インストールされているpythonパッケージのリストを取得するには(つまり、pip3 list)環境で、実行:

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

この方法で複数のコマンドをつなぎ合わせることができます:(それらはすべて同じシェルで実行されます)

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

Colabで私のノートブックをチェックできます ここ

0