0Pricing
Python Academy · レッスン

仮想環境が重要な理由

依存関係の競合と、分離が不可欠な理由を理解します。

「仮想環境が重要な理由」はCoddyKit上の無料Python Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python Academyコースには全4レッスンが含まれています。

概要

仮想環境がない場合、すべてのPythonパッケージがグローバルにインストールされ、プロジェクト間でバージョンの競合が発生します。

グローバルインストールの問題

デフォルトでは、pipはシステムのPythonにインストールします。プロジェクトAがrequests 2.25を必要とし、プロジェクトBが2.28を必要とすると、競合します。
# Without venv:
# pip install requests==2.25  -> global
# pip install requests==2.28  -> overwrites 2.25!
print('global conflict demo')

仮想環境とは

venvは、ディレクトリ内に作成される分離されたPython環境です。各プロジェクトが他のプロジェクトから独立したパッケージを持てます。
# venv creates:
# project/
#   .venv/
#     bin/python     (isolated Python)
#     lib/site-packages/  (project packages)
print('venv structure')

再現性

venvとrequirements.txtを使えば、誰でもまったく同じ環境を再現できます: pip install -r requirements.txt
# pip freeze > requirements.txt
# # Later, on another machine:
# python -m venv .venv
# pip install -r requirements.txt
print('reproducible env')

セキュリティ分離

venvにパッケージをインストールしても、システムのPythonには影響しません。sudoや管理者権限は必要ありません。システムツールを壊す危険もありません。
# System Python is untouched:
# /usr/bin/python -> system packages
# .venv/bin/python -> project packages only
print('security isolation')

CI/CDとDocker

CI/CDやコンテナでは、ビルドごとに新しいvenvを作成して、クリーンで再現可能な環境を確保します。
# Dockerfile pattern:
# RUN python -m venv /opt/venv
# RUN /opt/venv/bin/pip install -r requirements.txt
print('ci/cd demo')

プロジェクトごとに1つのvenv

プロジェクトごとに1つのvenvを用意し、プロジェクトルート内の.venv/に保存します。これをバージョン管理にコミットしてはいけません。
# Add to .gitignore:
# .venv/
# __pycache__/
print('gitignore tip')

システム・ユーザー・venvのsite-packages

Pythonは次の順序でパッケージを探します: venvのsite-packages → ユーザーのsite → グローバルsite。venvを有効にすると、venvが優先されます。
import sys
print('\n'.join(p for p in sys.path if 'site' in p))

Pythonバージョン管理のためのpyenv

pyenvは複数のPythonバージョン(3.10、3.11、3.12)を管理します。venvと組み合わせることで、完全な分離を実現できます。
# pyenv install 3.12.0
# pyenv local 3.12.0
# python -m venv .venv
print('pyenv demo')

代替手段としてのconda

conda(Anaconda/Miniconda)は、パッケージとPythonのバージョンの両方を管理します。データサイエンス分野で広く使われています。
# conda create -n myenv python=3.11
# conda activate myenv
# conda install numpy pandas
print('conda demo')

ベストプラクティスのまとめ

常にvenv内で作業します。requirements.txtまたはpyproject.tomlを使用します。.venv/を.gitignoreに追加します。Pythonのバージョンを統一します。
import sys
print('Python:', sys.version)
print('venv:', sys.prefix != sys.base_prefix)

クイックチェック

仮想環境が解決する主な問題は何ですか?

まとめ

仮想環境ではプロジェクトごとに環境を分離します。各venvには独自のパッケージがあります。再現性のためにrequirements.txtを使用します。.venv/を.gitignoreに追加します。

次へ進む

この調子で頑張りましょう!次のレッスンに進んでください。

よくある質問

「仮想環境が重要な理由」レッスンは無料ですか?

はい。「仮想環境が重要な理由」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python Academyコースには全4レッスンが含まれています。

「仮想環境が重要な理由」で何を学びますか?

依存関係の競合と、分離が不可欠な理由を理解します。 ブラウザで直接実行するハンズオンコードでPython Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Python Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのPython Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「仮想環境が重要な理由」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このPython Academyレッスンでコードを書いて実行できますか?

はい。すべてのPython Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 仮想環境が重要な理由
  2. venv の作成と有効化
  3. pip による依存関係の管理
  4. 最新ツール: pipenv と uv
← Python Academyに戻る