Pythonのvenvでバージョンを指定する正しい方法
こんにちは、とまだです。
Pythonで開発していると、プロジェクトごとに異なるバージョンを使いたくなりませんか?
実は、venvという仕組みを使えば、バージョンの切り替えがとても簡単になるのです。
今回は、仮想環境でPythonのバージョンを指定する方法について、基礎から実践まで解説していきます。
venvとは?
venvは、Pythonに標準で組み込まれている仮想環境の仕組みです。
簡単に言うと、プロジェクト専用の「部屋」を作るようなものです。
例えば、家の中に勉強部屋と趣味の部屋があるように。 それぞれの部屋には、必要な道具だけを置いておけます。
同じように、venvを使えばプロジェクトごとに環境を分けられます。
仮想環境のメリット
仮想環境を使うと、以下のような利点があります。
- プロジェクトごとに異なるライブラリを管理できる
- Pythonのバージョンを分けて使える
- 不要になったら環境ごと削除できる
つまり、プロジェクトA用の部屋とプロジェクトB用の部屋を完全に分けられるということです。
なぜバージョン指定が必要なのか
Pythonは、バージョンによって使える機能が異なります。
例えば、料理のレシピで考えてみましょう。 オーブンの温度設定が古い機種と新しい機種で違うように。 Pythonも、バージョンによって「できること」が変わるのです。
特に実務では、この違いが大きな問題になることがあります。
よくある困った場面
開発現場では、次のような状況に遭遇します。
- プロジェクトAは3.9でしか動かない
- プロジェクトBは3.10以上が必要
- 新機能を試すには最新版を使いたい
こんなとき、バージョンを自由に切り替えられると便利ですよね。
バージョンを指定してvenvを作る方法
それでは、実際にバージョンを指定する方法を見ていきましょう。
基本的な方法:パスを直接指定
複数のPythonがインストールされている場合。 どのPythonを使うか、パスで明示します。
# Python 3.10を使う場合(Linux/macOS)
/usr/bin/python3.10 -m venv myenv
このコマンドで、Python 3.10ベースの環境が作られます。
OSのコマンド名を使う方法
多くのOSでは、バージョン付きのコマンドが用意されています。
# Python 3.10を使う場合
python3.10 -m venv myenv
こちらの方が、パスを覚える必要がなくて便利です。
仮想環境を有効にする
環境を作ったら、次は有効化(アクティベート)します。
Linux/macOSの場合:
source myenv/bin/activate
Windowsの場合:
myenv\Scripts\activate
有効化すると、プロンプトに環境名が表示されます。 これで、専用の部屋に入った状態になります。
Windowsでの注意点
Windowsでは、複数バージョンの管理が少し特殊です。
py
というランチャーが便利に使えます。
# Python 3.10を指定
py -3.10 -m venv myenv
# Python 3.9を指定
py -3.9 -m venv myenv39
このランチャーを使えば、バージョン指定が簡単になります。
pyenvとの組み合わせ(上級編)
より柔軟にバージョンを管理したい場合。 pyenvというツールとの組み合わせが効果的です。
pyenvの基本的な使い方
- pyenvで使いたいバージョンをインストール
- そのバージョンに切り替える
- venvで仮想環境を作る
この流れで、バージョン管理が一元化できます。
例えば、プロジェクトごとに違うバージョンを使う場合。 pyenvで切り替えてからvenvを作れば、混乱しません。
実践的な使い方
ここからは、実際の開発での活用例を紹介します。
ウェブアプリケーション開発
フレームワークには、対応するPythonバージョンがあります。
例えば、あるフレームワークは3.10以上が必須。 でも、既存プロジェクトは3.9で動いている。
こんなとき、venvでバージョンを分ければ共存できます。
データ分析プロジェクト
データ分析では、ライブラリの相性が重要です。
古いライブラリは新しいPythonで動かないことも。 逆に、新しいライブラリは古いPythonでは使えません。
プロジェクトごとに最適なバージョンを選べるのが強みです。
実験的な開発
新しい機能を試したいとき。 でも、本番環境には影響を与えたくない。
そんなときこそ、仮想環境の出番です。 実験用の環境を作って、思う存分試せます。
よくあるトラブルと対処法
「コマンドが見つかりません」エラー
このエラーが出たら、Pythonのインストール状況を確認しましょう。
# インストール済みのPythonを確認
which python3.10
もし見つからなければ、インストールが必要です。
仮想環境が有効にならない
アクティベートしても、バージョンが変わらない場合。 パスの設定を確認してみてください。
# 現在のPythonバージョンを確認
python --version
期待したバージョンと違えば、環境の作り直しを検討しましょう。
ライブラリがインストールできない
仮想環境を有効化し忘れていませんか?
必ず環境を有効化してから、pipコマンドを実行しましょう。 でないと、グローバル環境にインストールされてしまいます。
バージョン確認のコツ
開発中は、定期的にバージョンを確認しましょう。
# Pythonのバージョン
python --version
# pipのバージョン
pip --version
これらのコマンドで、現在の環境を把握できます。
特に、複数プロジェクトを扱うときは重要です。 混乱を防ぐためにも、こまめな確認を心がけましょう。
今すぐ試してみよう
venvでのバージョン指定は、最初は難しく感じるかもしれません。
でも、一度理解すれば開発効率が大きく向上します。
まずは、小さなプロジェクトで練習してみてください。 慣れてきたら、実際の開発で活用していきましょう。
環境の切り替えがスムーズになれば、開発の幅も広がります。 ぜひ、今日から実践してみてください。
著者について

とまだ
フルスタックエンジニア
Learning Next の創設者。Ruby on Rails と React を中心に、プログラミング教育に情熱を注いでいます。初心者が楽しく学べる環境作りを目指しています。
著者の詳細を見る →