はじめに
JupyterNotebookやGoogleColaboって便利ですよね。
ライブラリの管理も楽で簡単に環境構築できるし!
でも普段から使い慣れたエディタでソースコードを書いてGitに上げたりしたいと思いませんか?
今回はPythonの仮想環境の作成方法を通じてVSCode上でJupyterNotebookを動かす方法を記していきます!
仮想環境とは
まず仮想環境とは何なのでしょうか。
仮想環境は、特定のプロジェクトに必要なライブラリやパッケージを他のプロジェクトと分離して管理するためのものです。これにより、異なるプロジェクト間での依存関係の衝突を避けることができます。
具体的なメリット
- プロジェクト間の依存関係の分離:異なるプロジェクトで異なるバージョンのライブラリが必要な場合、仮想環境を使うことでコンフリクトを避けられます。
- システム全体への影響を最小限に:仮想環境内でのパッケージのインストールや更新が、システム全体のPython環境に影響を与えません。
- クリーンな開発環境:新しいプロジェクトを始める際に、必要最小限のパッケージだけをインストールした環境を作れます。
- 再現性の向上:プロジェクトの環境を他の人と共有したり、別のマシンで再現したりするのが容易になります。
- 実験的な変更の安全性:新しいライブラリやバージョンを試す際、メインの環境を壊すリスクなく実験できます。
仮想環境の作り方(初期作成の方法)
ローカル環境でJupyter NotebookをVSCodeと連携して使用する方法を、Anacondaを使わずに構築する手順をご説明します。以下の手順で進めていきましょう:
-
Pythonのインストール:
まず、公式サイトから最新版のPythonをダウンロードしてインストールします。 -
プロジェクトディレクトリに移動:
cd path/to/your/project
-
仮想環境の作成:
コマンドプロンプトまたはターミナルで以下のコマンドを実行します。python -m venv Jupyter_Sample
Jupyter_Sample
は任意の環境名に変更可能です。 -
仮想環境の有効化:
- Windows:
Jupyter_Sample\Scripts\activate
- macOS/Linux:
source Jupyter_Sample/bin/activate
- Windows:
-
必要なパッケージのインストール:
pip install jupyter notebook ipykernel
-
Jupyter用のカーネルを作成:
python -m ipykernel install --user --name=myenv
-
VSCodeのインストールと設定:
- VSCodeをインストールします。
- Python拡張機能をインストールします。
- Jupyter拡張機能をインストールします。
-
VSCodeでJupyter Notebookを使用:
- VSCodeを開き、
.ipynb
拡張子の新しいファイルを作成します。 - 右上のカーネル選択から、先ほど作成した
myenv
を選択します。
- VSCodeを開き、
これで、AnacondaなしでJupyter NotebookをVSCodeで使用する環境が整いました。
.ipynbファイルの作成
.ipynbファイル(Jupyter Notebookファイル)の配置場所については、通常プロジェクトのルートディレクトリか、専用のサブディレクトリに置くのが一般的です。
以下のようなディレクトリ構造をお勧めします:
Jupyter_Sample/
│
├── notebooks/
│ ├── analysis.ipynb
│ └── data_exploration.ipynb
│
├── data/
│ └── (データファイルがあれば)
│
├── etc/
├── Include/
├── Lib/
├── Scripts/
├── share/
└── pyvenv.cfg
この構造では:
-
notebooks/
ディレクトリを新たに作成し、そこに.ipynbファイルを配置します。 - 必要に応じて
data/
ディレクトリを作成し、分析に使用するデータファイルを保存します。
このような構造にすることで、プロジェクトが整理され、ノートブックファイルと他のプロジェクトファイルを明確に分けることができます。
ただし、小規模なプロジェクトや個人的な実験の場合は、.ipynbファイルをプロジェクトのルートディレクトリ(Jupyter_Sample/
)に直接配置しても問題ありません。
最終的には、あなたのワークフローと好みに合わせて配置を決めてください。重要なのは、一貫性を保ち、プロジェクトの構造が分かりやすくなるようにすることです。
サンプルコードを動かしてみよう
ここでmatplotlib
を使ってグラフの描画を行うプログラムを作成してVSCode上でJupyterNotebookが動作するか実験してみましょう!
matplotlibを使用するための手順を説明します。
-
まず、仮想環境を有効化します(まだしていない場合):
source venv/bin/activate
-
matplotlibをインストールします:
pip install matplotlib
この時の
matplotlib
は作成したJupyter_Sample
内でインストールされています。
ローカル環境にはインストールされていません! -
Jupyter Notebookも必要なので、まだインストールしていない場合は:
pip install jupyter
-
.ipynbファイルを作成し、VSCodeで開きます。
-
ノートブック内で以下のようなコードを書きます:
import matplotlib.pyplot as plt import numpy as np # データの生成 x = np.linspace(0, 10, 100) y = np.sin(x) # プロットの作成 plt.figure(figsize=(10, 6)) plt.plot(x, y) plt.title('Sine Wave') plt.xlabel('x') plt.ylabel('sin(x)') plt.grid(True) plt.show()
-
このセルを実行すると、サイン波のグラフが表示されるはずです。
注意点:
- VSCodeでJupyter Notebookを使用する場合、Pythonの拡張機能がインストールされていることを確認してください。
- グラフが表示されない場合は、VSCodeの設定で "Plot output inline" が有効になっているか確認してください。
もし特定の種類のプロットや可視化について質問がある場合は、お知らせください。matplotlibは非常に多機能なライブラリなので、様々な種類のグラフや図を作成できます。
ライブラリの情報を保存する
ライブラリをrequirements.txt
に保存します。
このファイルの作成と更新には以下のコマンドを実行していきます。
pip freeze > requirements.txt
そして作成、更新したファイルを環境に適用するにはライブラリをインストールする以下のコマンドを実行します。
pip install -r requirements.txt
ローカルで作った環境をGitで保存する
ここでは先ほど作成した環境をGitを通じて管理し、リモートに上げる方法をGitとGitHubを使って解説していきます。
GitHubとの連携にVSCodeの機能や拡張機能を使っていきます。
また、私が参考にしているサイトがあるので詳しくはそちらを見ながら連携を進めていってください。
ここではダイジェスト版としてコマンドやVSCodeの操作だけを載せておきます。
ローカルのGitに登録
git init
git config --local user.name
git config --local user.email
git init
でこのリポジトリでのgitコマンドを使えるようにしてユーザーネームとメールアドレスを登録します。
ここのname
は自分のユーザーネームでemail
は登録するメールアドレスを入力します。
VSCodeの機能でコミットする
VSCodeのGitのアイコンから変更をステージしてコミットをします。
GitHubとの連携
ここまで来たら普通のGit、GitHubの連携のコマンドや操作で完了します。
- GitHubの
New Repository
からリポジトリを作成する - pushのコマンドをコピーして控えておく
- コマンドを実行してリモートとローカルを紐づける
- 連携完了