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 をフルパスで指定する

お気軽にご相談ください

お見積りへ お問い合わせへ
▲