最近説明する機会が多いので書いておきます。
Jupiter Notebook自体はシステムにインストールしたPythonで動かせますが、Global環境を汚したくないので仮想環境(pipenv)で実行します。
pipenvは仮想環境を管理するためのパッケージです。
Pipenv: Python Dev Workflow for Humans — pipenv 2023.7.12.dev0 documentation
この記事でやること
- 仮想環境(pipenv)のインストール
- 仮想環境(pipenv)の作成
- Jupyterカーネルのインストール
- Jupyter Notebookファイルの実行
前提
- Python3のインストール
- インストール時にPATHの設定をチェックしておく
- VSCodeのインストール
- 以下の拡張機能をインストールしておく
Pythonの確認
Pythonが正常にインストールされ、PATHが通っているか確認します。
バージョンが表示されたら準備OKです。
> python -V
# Python 3.11.4
> pip -V
# pip 23.1.2 from C:\Users\WDAGUtilityAccount\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip (python 3.11)
pipenvのインストール
以下のコマンドを実行し、pipenvをインストールします。
> pip install pipenv
インストールが完了したらpipenv
コマンドが使えるようになっていることを確認します。
コマンド一覧が表示されたらインストール完了です。
> pipenv
仮想環境の保存先の変更
デフォルトでは~/.virtualenvs/プロジェクトごとのディレクトリ
に仮想環境の実体が作成されます。
しかし、不要になったときに消すのが面倒なので、プロジェクトディレクトリ内に作成する設定をします。
以下のコマンドを実行して環境変数を追加してください。
# Windowsの場合
setx PIPENV_VENV_IN_PROJECT 1
# Mac/Linuxの場合は以下を.bashrcや.zshrcに追加
export PIPENV_VENV_IN_PROJECT=1
仮想環境の作成
適当なディレクトリを作成してその中で仮想環境を作成します。
helpにはpipenv --python 3.7
のように指定するとありますが、pipenv install
でもバージョン指定なしで作成できます。(面倒なのでこれでいきます)
# ディレクトリを作成してその中に移動
> mkdir python_test
> cd python_test
# 仮想環境の作成
> pipenv install
フォルダ1つとファイルが2つ作成されます。
仮想環境の保存先の変更を行っていない場合は.venv
は作成されません。
> ls
Directory: C:\Users\WDAGUtilityAccount\Desktop\python_test
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 7/19/2023 10:59 PM .venv
-a---- 7/19/2023 10:35 PM 155 Pipfile
-a---- 7/19/2023 10:35 PM 21674 Pipfile.lock
VSCodeで仮想環境ディレクトリをワークスペースとして開く
仮想環境を作成したディレクトリをワークスペースとしてVSCodeを起動します。
VSCodeのPathが通っていれば、ターミナルで対象ディレクトリに移動した状態で以下のコマンドを実行すると、ワークスペースとしてVSCodeが起動します。
起動しなかったら手動でVSCode起動、ファイル
→フォルダーを開く
で開いてください。
> code .
ここで開いたとき信頼しますか?
のようなダイアログが出た場合は信頼してください。
Python環境とカーネルの選択
環境の選択にはNotebookファイルを開く必要があるので、任意の名前.ipynb
のファイルを作成します。
Notebookファイルを開くと以下のような画面になります。
ボタンを押すと表示されるポップアップにでPython環境
→Pipenv環境
を選択します。
(おすすめはシステムになっているので注意)
カーネルのインストール
とりあえず空の状態でコードブロック左の実行ボタンを押してみます。
カーネルパッケージのインストールを促されるので、インストール
をクリックします。
コードを実行してみる
適当にコードを書いて実行してみます。
for i in range(5):
print("hello!")
おまけ:パッケージのインストール
仮想環境はシステムと環境が分かれているため、pipを使ってインストールされたパッケージは使えません。
仮想環境内でパッケージ使うには、pipenv install
コマンドを使ってインストールします。
> pipenv install パッケージ名
# ex) pipenv install requests
インストールが完了するとimportできるようになります。