5.

PyCharmで仮想環境を設定する方法|venv・Condaのインタプリタ設定

編集
この記事の要点
  • PyCharm では各プロジェクトに対して Project Interpreter(プロジェクトインタプリタ)を設定し、独自の 仮想環境 を割り当てる
  • 新規 venv を作るパターンと既存の venv / Conda 環境を選ぶパターンの両方が同じ画面でできる
  • 設定先: File > Settings > Project: <name> > Python Interpreter(macOS は PyCharm > Preferences
  • 仮想環境を切り替えると、pip install や Run/Debug が即座にその環境に対して走るようになる
  • Windows は Scripts\python.exe、Linux/macOS は bin/python を指定する(パスを間違えるとパッケージが見えない症状になる)

なぜ PyCharm で仮想環境を使うのか

Python はグローバル領域にパッケージを入れていくと、プロジェクト間でバージョンが衝突しやすい言語です。これを避けるための仕組みが 仮想環境(virtual environment)で、プロジェクトごとに独立した Python 実行環境と site-packages を持たせます。PyCharm はこの仮想環境を IDE 側からシームレスに作成・切り替えできる点が強みです。

設定画面の開き方

仮想環境はプロジェクトインタプリタ(Project Interpreter)として設定します。

  • Windows / Linux: File > Settings > Project: <プロジェクト名> > Python Interpreter
  • macOS: PyCharm > Preferences > Project: <プロジェクト名> > Python Interpreter
  • ショートカット: ステータスバー右下のインタプリタ表示をクリックしても同じ設定画面に飛べます

下の画像のように、プロジェクト設定の「Python Interpreter」欄に Python 実行体のフルパスを指定します。Windows の場合は仮想環境フォルダ配下の Scripts\python.exe を指定します。

PyCharm の Project Interpreter 設定画面で venv 配下の python.exe を選んでいるところ

新しく仮想環境を作って割り当てる

プロジェクトに既存の venv が無いときは、PyCharm 側で新規作成できます。

  1. 上記設定画面で右上の歯車アイコン(または Add Interpreter)をクリック
  2. Add Local Interpreter を選ぶ
  3. 左メニューで Virtualenv Environment を選び、New environment を選択
  4. Location: 仮想環境を作るフォルダ(既定はプロジェクト直下 venv
  5. Base interpreter: ベースとなる Python 本体(Anaconda 配下や公式 Python のいずれかを指定)
  6. 必要に応じて「Inherit global site-packages」「Make available to all projects」を選び OK

作成が終わると Project Interpreter に新しい venv が自動セットされ、ステータスバーの表示もそれに切り替わります。

既存の仮想環境を使い回す

すでにコマンドラインで python -m venv .venv 等で作った仮想環境がある場合は、新規作成ではなく既存を選びます。

  1. 同じく Add Local Interpreter から Virtualenv Environment を選択
  2. Existing environment 側を選ぶ
  3. Interpreter 欄に実行体のフルパスを指定(下表参照)
OS指定する Python のパス
Windows<venvフォルダ>\Scripts\python.exe
macOS / Linux<venvフォルダ>/bin/python
Conda 環境<Anaconda>\envs\<env名>\python.exe(Windows) / .../envs/<env名>/bin/python(Unix)

Conda 環境を選ぶ場合

Anaconda や Miniconda を使っている場合は、Add Interpreter から Conda Environment を選ぶと、既存の env 一覧が conda コマンド経由で取得されるので、ドロップダウンから選ぶだけで設定が完了します。新規環境を作る場合も、Conda のサブコマンド呼び出しで PyCharm が裏で conda create してくれます。

切り替え後に行うこと

仮想環境を割り当てると、パッケージ一覧のタブが下部に表示され、+ ボタンから PyPI 上のパッケージを GUI で追加できます。コマンドライン派の人も、PyCharm 内蔵ターミナル(View > Tool Windows > Terminal)を開くと自動的に該当 venv が activate された状態で起動するので、そのまま pip install が使えます。

# PyCharm 内蔵ターミナル(自動で venv が activate 済み)
pip install requests
pip list

よくあるトラブル

症状原因 / 対処
パッケージは入れたのに ModuleNotFoundError別の Python(グローバル)にインストールしている可能性。Project Interpreter のパスと pip 実行元が一致しているか確認
インタプリタ欄に Invalid interpretervenv フォルダを移動 / 削除した、または python.exe へのパスが壊れている。フォルダごと再作成して指定し直す
Conda 環境が一覧に出ないconda 実行体のパスが PyCharm に登録されていない。Conda Executable 欄でフルパスを指定
Run/Debug で別の Python が走るRun/Debug Configuration の Python interpreter がプロジェクト設定を上書きしている。Project Default に戻す
Windows でアクセス拒否venv を Program Files 配下に作っていることが多い。C:\Users\<user>\ 配下に作り直す

requirements.txt との連携

仮想環境を切り替えたあとは、共有しているプロジェクトの依存をまとめて入れ直すために requirements.txt を使います。PyCharm の内蔵ターミナルから実行するのが一番素直です。

# 依存をまとめてインストール
pip install -r requirements.txt

# 現在の venv の依存を書き出す
pip freeze > requirements.txt

PyCharm は requirements.txt が存在するプロジェクトを開くと、画面上部に「未インストールの依存があります」と通知してくれるので、ワンクリックで一括 install が可能です。

プロジェクト直下に venv を作るか、外に作るか

議論の分かれる部分ですが、現代の流儀は次の通りです。

配置長所短所
プロジェクト直下(.venvgit の .gitignore に 1 行書くだけで隔離完了、PyCharm が自動検出プロジェクトをコピーすると venv まで複製される
ユーザ専用フォルダ(~/.virtualenvs/<name>プロジェクトをコピーしても重複しない名前管理が手作業
Conda 共通領域科学計算系の依存が一括で揃う容量が大きい、純粋 Python の依存解決とは別系統

関連

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. インストール方法(Windows:無償版)
  2. インストール方法(Linux:無償版)
  3. インストール方法(Mac : 有償版 PyCharm Professional)
  4. プログラムの実行方法
  5. 仮想環境の使用

最近更新/作成されたページ