Virtualenv machinelearnを作成し、その環境にいくつかのpythonモジュール(pandas、scipy、sklearn)をインストールしました。
Jupyterノートブックを実行すると、pandasとscipyをノートブックにインポートできます-ただし、sklearnをインポートしようとすると、次のエラーメッセージが表示されます。
import sklearn
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-8fd979e02004> in <module>()
----> 1 import sklearn
ImportError: No module named 'sklearn'
コマンドラインですべてのモジュールをインポートできるので、正常にインストールされたことがわかります。
(machinelearn) me@yourbox:~/path/to/machinelearn$ python -c "import pandas, scipy, sklearn"
(machinelearn) me@yourbox:~/path/to/machinelearn$
Virtualenvで実行されているjupyterノートブックにsklearnをインポートするにはどうすればよいですか?
おそらくvirtualenvにjupyter/IPythonをインストールしていないでしょう。以下を試してください:
python -c "import IPython"
jupyter
コマンドが$PATH
は、venvのbin
フォルダーからのものです。
which jupyter
PowerShellコンソールのWindowsユーザーの場合、次を使用して、jupyter
コマンドが$env:Path
は、venvのScripts
フォルダーからのものです。
get-command jupyter
編集:これが問題であれば、単にpython -m pip install jupyter
あなたのvenvで。
編集2:実際には以下も必要かもしれません:
python -m ipykernel install --user --name=my-virtualenv-name
次に、jupyterユーザーインターフェイスで「my-virtualenv-name」という名前のカーネルを切り替えます。
別のアプローチとして、1つのグローバルjupyterをインストールし、バックエンドとして実行する異なるカーネルを指すようにする方法があります。
そのアプローチは、ドキュメントでここに概説されています: http://help.pythonanywhere.com/pages/IPythonNotebookVirtualenvs
リンクが壊れた場合のコピー:IPythonノートブックにvirtualenvを使用できます。次の手順に従ってください:
Ipythonカーネルモジュールをvirtualenvにインストールします
workon my-virtualenv-name # activate your virtualenv, if you haven't already
pip install ipykernel
カーネルの「自己インストール」スクリプトを実行します。
python -m ipykernel install --user --name=my-virtualenv-name
--nameパラメーターを適切に置き換えます。
これで、IPythonノートブックメニューにカーネルが表示されるはずです。カーネル->カーネルを変更して、カーネルに切り替えることができます(リストに表示される前にページを更新する必要がある場合があります)。 IPythonは、それ以降、そのノートブックに使用するカーネルを記憶します。
Jupyterが仮想環境ではなくマシンにインストールされていると仮定します。
Jupyterノートブックで仮想環境を使用する
VENV_NAME = "あなたの仮想環境名"
1)virtualenv VENV_NAME
2)source venv/bin/activate
3)このパッケージが存在しない場合は追加します:pip3 install ipykernel
4)次に、このコマンドを実行します:ipython kernel install --user --name=VENV_NAME
5)Jupyter Notebookを開き、変更カーネルでVENV_NAME
6)新しいパッケージをインストールするには、pip3 install <PACKAGE NAME>
ターミナルで、手順4を繰り返します。
それが役に立てば幸い!
仮想環境(virtualenvwrapperを使用)とその環境にインストールされたパッケージでJupyterノートブックを使用するには、以下の手順に従います。
仮想環境を作成する
mkvirtualenv --no-site-packages --python=/your/python/path your_env_name
仮想環境をアクティブ化する
workon your_env_name
Jupyterおよびその他のパッケージをインストールする
pip install jupyter, numpy
Jupyter設定に新しいカーネルを追加します
ipython kernel install --user --name=your_env_name
できたこれで、仮想環境でJupyterノートブックを使用できます。
jupyter-notebook
免責事項:質問は回答済みですが、返信の1つに隠されています。私はグーグルで正しい答えを見つけるために時間を取った。それで、同じ問題を抱えている人が簡単にフォローできるように要約します。
python3 -m venvコマンドを使用したvirtualenvの作成
私はあなたと同じ問題を抱えていました。私の場合、コマンドでvirtualenvを作成しました
python3 -m venv ./my_virtual_env --system-site-packages
問題は、system-site-packageに既に存在するため、仮想環境内にjupyterをインストールできなかったことです(インストールしようとすると、「要件は既に満たされています」と表示されます)。
Jupyter(および最初のインスタンスpipでは、このコマンドを使用しても仮想環境にインストールされません)をインストールし、まだsystem-site-packageにアクセスするには:
python3 -m venv ./my_virtual_env
仮想環境をアクティブにし、pip3 install jupyter
(およびpip3 install pip
)を実行してから、ファイル./my_virtual_env/pyvenv.cfgでオプションinclude-system-site-packagesをオンにします。
環境を非アクティブ化および再アクティブ化すると、システムサイトパッケージにアクセスできるようになります。
virtualenvコマンドによるvirtualenvの作成
この回答 を指定すると、ファイル./my_virtual_env/lib/python3.4/no-global-site-packages.txtを作成してシステムサイトパッケージへのアクセスを防止し、アクセスを戻すことができますそれを削除します。
次を使用して仮想環境を作成した場合、仮想環境内にjupyterをインストールできます。
python -m venv --system-site-packages path/to/my-venv
これを行うだけです:
activate-your-env
pip install -I jupyter
これで準備完了です
jupyter notebook