2026年5月25日
2026年5月25日
Pythonのインストールと仮想環境(venv)の設定|Windows・Mac・Linux別の手順とつまずきどころ
Pythonを使い始めるときは、OSに合った方法でPythonを入れ、プロジェクトごとに python -m venv .venv で仮想環境を作り、その中にライブラリを入れる、という流れが基本です。仮想環境を分けておくと、プロジェクト同士のライブラリのバージョンがぶつからず、OSに付属するPythonを壊すこともありません。この記事では、Windows・macOS・Linux(Ubuntu)でのインストール、venvの作成・有効化・削除、サーバーのcronなどで仮想環境のPythonを使う方法、よくあるエラーの対処までを説明します。
どのバージョンを入れるか
Pythonは毎年10月ごろに新しいマイナーバージョン(3.13、3.14のような番号)が出て、それぞれ約5年間サポートされます。新しく始めるなら、サポート期間が長く残っている新しめのバージョンを選び、使いたいライブラリが対応しているかを確認するのが無難です。各バージョンのサポート状況は、python.orgの公式ドキュメント(Python Developer's Guideの「Status of Python versions」)で確認できます(2026年10月現在)。
すでにサポートが終わったバージョンは、セキュリティ修正が提供されません。古いサーバーで動いているスクリプトを引き継ぐ場合も、まず手元のバージョンを確認してください。
python3 --version
OS別のインストール
Windows
python.orgからインストーラーを入手するのが基本です。最近はpython.orgが「Python install manager」という、複数のバージョンを管理できる新しい導入方法を案内しており、従来のインストーラーからの移行が進んでいます。どちらの方法が推奨されているかは時期によって変わるため、ダウンロードページの案内に従ってください。
従来のインストーラーを使う場合は、最初の画面で python.exe をPATHに追加する選択肢にチェックを入れておくと、コマンドプロンプトやPowerShellから python で起動できます。インストール後は次のコマンドで確認します。
python --version
py --list
py はWindows用のランチャーで、py -3.13 のようにバージョンを指定して起動できます。
**python と入力するとMicrosoft Storeが開く場合**Windowsには、Pythonが入っていないときにStoreへ案内する「アプリ実行エイリアス」があります。python.org版を使うなら、Windowsの設定のアプリの項目にある「アプリ実行エイリアス」で、python.exe と python3.exe のエイリアスをオフにします(設定画面の場所や表記はWindowsのバージョンで異なります)。
macOS
macOSには、Xcode Command Line Toolsと一緒に python3 が入っていることがありますが、バージョンを選べないため、開発用には別途入れるのが一般的です。
- python.orgのmacOS向けインストーラーを使う
- Homebrewを使っているなら
brew install python@3.13のようにバージョンを指定して入れる
どのPythonが使われているかは which python3 で確認できます。複数入っていると、意図しないほうが起動することがあります。
Linux(Ubuntu・Debian系)
Ubuntuには最初からPythonが入っていますが、OSのツールもこのPythonを使っています。OSのPythonを別のバージョンに置き換えたり、削除したりしないでください。システムの動作に影響します。
venvを使うには、追加のパッケージが必要です。
sudo apt update
sudo apt install python3 python3-venv python3-pip
OSの標準とは別のバージョンが必要な場合は、pyenvでユーザーのホームディレクトリにビルドする方法や、uvの uv python install を使う方法があります。どちらもOSのPythonには手を触れないので、サーバーでも比較的安全に使えます。
仮想環境(venv)を作る
作成
プロジェクトのフォルダに移動して、次のコマンドを実行します。
cd ~/projects/report-tool
python3 -m venv .venv
Windowsでは python -m venv .venv または py -3.13 -m venv .venv です。.venv は仮想環境のフォルダ名で、別の名前でも構いませんが、.venv にしておくとエディタが自動で見つけてくれることが多いです。
作成時のPythonのバージョンが仮想環境に引き継がれます。別のバージョンで作りたいときは、そのバージョンのPythonで -m venv を実行します。
有効化と無効化
仮想環境を「有効化」すると、python や pip のコマンドが仮想環境の中のものに切り替わります。
# macOS / Linux
source .venv/bin/activate
# Windows(PowerShell)
.venv\Scripts\Activate.ps1
# Windows(コマンドプロンプト)
.venv\Scripts\activate.bat
# 元に戻す(共通)
deactivate
有効化するとプロンプトの先頭に (.venv) のような表示が付きます。本当に切り替わったかは、次のコマンドで確認できます。
python -c "import sys; print(sys.prefix)"
表示されたパスがプロジェクトの .venv になっていれば、仮想環境の中で動いています。
PowerShellで「スクリプトの実行が無効」と表示される場合PowerShellの実行ポリシーによって Activate.ps1 が止められています。会社のPCでは管理者がポリシーを決めていることがあるので、変更する前に社内のルールを確認してください。有効化しなくても、.venv\Scripts\python.exe を直接指定して実行すれば仮想環境のPythonが使えます。
ライブラリを入れる
有効化した状態で pip を使うと、ライブラリは仮想環境の中だけに入ります。
python -m pip install --upgrade pip
python -m pip install requests
pip ではなく python -m pip と書くと、今使っているPythonに対応したpipが呼ばれるので、取り違えを防げます。pipの使い方の詳細(バージョン指定やrequirements.txtの管理)は別記事で扱っています。
仮想環境の扱い方のルール
Gitに含めない.venv フォルダは数百MBになることもあり、OSやパスに依存した中身なので、リポジトリには入れません。.gitignore に .venv/ を書いておきます。Python 3.13以降のvenvは、作成時に仮想環境のフォルダ内へ .gitignore を自動で置くようになっていますが、プロジェクト側にも書いておくと確実です。代わりに、入れたライブラリの一覧(requirements.txt など)をリポジトリで管理します。
移動やコピーをしない仮想環境の中には、作成した場所のパスが書き込まれています。フォルダごと別の場所に移動すると動かなくなるため、移動したいときは削除して作り直します。
deactivate # 有効化していれば解除
rm -rf .venv # Windowsでは Remove-Item -Recurse .venv
python3 -m venv .venv
python -m pip install -r requirements.txt
Pythonを更新したら作り直す元のPythonをアップグレードした場合も、仮想環境は作り直すのが安全です。
サーバーのcronやsystemdで使う
サーバー上で定期実行するスクリプトでは、activate を使う必要はありません。仮想環境の中にある python をフルパスで指定すれば、その仮想環境のライブラリが使われます。
# crontab の例(毎日3時に実行)
0 3 * * * /home/deploy/report-tool/.venv/bin/python /home/deploy/report-tool/main.py >> /home/deploy/report-tool/cron.log 2>&1
cronはログイン時と環境変数が異なり、source で有効化する書き方は動かないことがあるため、この書き方のほうがトラブルが少なくなります。systemdのサービスでも同じように、ExecStart に仮想環境の python をフルパスで書きます。
よくあるエラーと対処
**The virtual environment was not successfully created because ensurepip is not available**Debian/Ubuntuで python3-venv パッケージが入っていません。sudo apt install python3-venv を実行します。バージョン別のパッケージ(例: python3.12-venv)が必要なこともあり、エラーメッセージに入れるべきパッケージ名が表示されます。
**error: externally-managed-environment**仮想環境を有効化しないまま、OSのPythonに pip install しようとしています。最近のUbuntuやDebianでは、OSのPythonを守るためにこの操作が止められます。仮想環境を作って、その中で入れてください。
**python: command not found(Linux・macOS)**多くの環境では python3 という名前になっています。仮想環境を有効化すれば、その中では python が使えます。
**有効化しているのにライブラリが見つからない(ModuleNotFoundError)**エディタやIDEが別のPythonを使っていることがよくあります。VS Codeなら、コマンドパレットからPythonのインタープリターを選ぶ操作で、.venv の中のPythonを指定します。
まとめ
- Pythonは新しめのサポート中バージョンを選び、OSに付属するPythonは置き換えない
- Windowsはpython.orgの案内に従い、
pythonでStoreが開くならアプリ実行エイリアスを確認する - Ubuntuではvenvのために
python3-venvが必要 - プロジェクトごとに
python -m venv .venvで作り、python -m pipでライブラリを入れる .venvはGitに入れず、移動したりPythonを更新したりしたら作り直す- cronやsystemdでは、有効化せずに
.venv/bin/pythonをフルパスで指定する