これは、筆者の「2025振り返り用ひとりアドカレ」記事の一つです。
はじめに
本記事は普段 React, Next.jsなどを使う筆者が2025年に業務効率化を絶対目標としてPython学習したことに際し、「フロントエンド側の人間が 1からPythonを学んでみて」というテーマで書いていくシリーズ記事の一つです。
対象読者
- 業務効率化を願うビジネスパーソン
- バックエンド側に興味があるフロントエンド側の方々
- バックエンド側とフロントエンド側の言語における違いや共通性が知りたい方々
- Pythonを学び始めた方々
- Pythonを学ぼうとしているフロントエンドエンジニアの方々
わざわざ学ばなくても、AI(LLM)に任せれば良くね?
筆者がPython学習のモチベーションとしたのは「業務効率化を絶対目標」とすることです。
正直これはAIで簡単に行える世界になりつつありますが、筆者はAIの成果物を正しく活用するにはチェックできるだけの基礎力が大事だと思っています。
そのため遠回りに見えつつもPythonを体系的にじっくり学んでいくルートを選びました。
仮想環境
仮想環境を用意しないと、他のPythonプロジェクトとパッケージやモジュールのverで競合したり、最悪の場合PC自体のパフォーマンスにも影響を及ぼしたりするリスクがあります。
Pythonでは仮想環境を使わない場合、pip installでインストールしたパッケージ / モジュールはグローバル環境にインストールされてしまいます。使用PCのみならず、各Pythonプロジェクトを相互的に壊さないためにも仮想環境の構築は必須になります。
仮想環境によって、いろいろなバージョンのPythonプロジェクトを同一PC内に混在させて(プロジェクトによって)使い分けられるようになるので、各プロジェクトごとの設定やバージョンを個別に固定管理できるようになります。
現状、Pythonにおける仮想環境においてはuvを利用する方法も増えてきていますが、筆者の利用ケースでは小~中規模程度だったこともあってPython標準のvenvを利用しています。
そのため、いまから説明する仮想環境はvenvを指します。
仮想環境(venv)の構築例
※以下シチュエーションを前提に話を進めていきます。
- Python自体のインストールは済んでいる
-
GitHubでプロジェクト管理していて不要なファイル(**/__pycache__,venv/,.envなど)は省かれている(=.gitignoreされている)
Pythonプロジェクトを用意
新規PythonプロジェクトをVSCode(または使用しているIDE、テキストエディタ)で開いている状態、またはvenvを仮想環境にした既存Pythonプロジェクトを開いている状態を前提とします。
1. 仮想環境用のディレクトリ(フォルダ)を用意して移動
# venv ディレクトリ(仮想環境フォルダ)を作成
mkdir venv
# 作成した仮想環境フォルダへ移動
cd venv
※以降pythonコマンドが出てきますがMacを使用している場合はpython3と入力してください
2-a. 新規作成した仮想環境をアクティベートする
# 新しい仮想環境を作成してアクティベート
python -m venv env # env は仮想環境名
source env/bin/activate # Windows の場合: 仮想環境名\Scripts\activate
2-b. 既存の仮想環境をアクティベートする
当該仮想環境ディレクトリの「一つ前の階層」でアクティベートコマンドを実行しないと起動できないので注意。
# Windows の場合: 仮想環境名\Scripts\activate
source env/bin/activate
補足①:アクティベートかどうかを確認する方法
アクティベート状態の場合、ターミナル(コマンドプロンプト)内で以下のような(仮想環境名)プロジェクトパスという表記になっているはずです。
# ※Windowsの場合
(env) C:\Users\...\プロジェクト名\venv>
補足②:仮想環境の閉じ方(deactivateコマンドを実施)
仮想環境の閉じ方はdeactivateコマンド実施するか、
またはターミナル(コマンドプロンプト)を閉じると非アクティブ化となります。
コマンドを実施しても、まだアクティブ化されたままな時の対処法
※もしdeactivateコマンドを実施しても、ターミナル(コマンドプロンプト)自体を閉じてもまだアクティブ化されたままの場合は以下を試してください。
-
1. フルパス指定で仮想環境を閉じる
仮想環境を格納しているディレクトリで以下コマンドを実施する
# Windows の場合
venv\Scripts\deactivate
# または venv\Scripts\deactivate.bat
- 2. VSCodeの設定を調整
- VSCode の左下設定(歯車アイコンを押下)の
設定項目を開く - 設定の検索で
Python > Terminal: Activate Environmentを入力 -
ユーザー欄の当該項目のチェックを外す
3. パッケージ / モジュールをインストール
必ず仮想環境をアクティベートした状態でインストールすること
※ パッケージ / モジュールのインストール自体について詳細の説明は後述します。
新規インストール
python -m pip install パッケージ / モジュール名
# または
# pip install パッケージ / モジュール名
-
インストールしたパッケージ / モジュール情報を保存・管理
仮想環境にインストールしたものを管理するためのファイル(requirements.txt)を用意し、そこに情報を保存します。
もちろん、仮想環境がアクティベート状態なことを確認した上で実施してください。
# 依存関係を`requirements.txt`に保存
python -m pip freeze > requirements.txt
※ 既存の仮想環境(及びrequirements.txt)がある場合は、仮想環境がアクティベート状態なのを確認した上でファイルパスを指定したコマンドを実施してください。
python -m pip freeze > ファイルパス/requirements.txt
または、cdでrequirements.txtを格納しているディレクトリに移動してから先のコマンド(python -m pip freeze > requirements.txt)を実施しても問題ありません。
-
requirements.txt
フロントエンド開発におけるpackage.json,package-lock.jsonのようなものです。
このrequirements.txtによって他のPCでも同じ環境を用意できるようになります。
別環境において必要なパッケージ / モジュールをインストールする方法は以下コマンドです。
※仮想環境をアクティベートした状態で行ってください。
python -m pip install -r requirements.txt
新しいパッケージ / モジュールをインストールする度にrequirements.txtを更新
新しいパッケージ / モジュールをインストールしたら、それを都度requirements.txtに反映してください。これも当然、仮想環境をアクティ...(以下略)
# 依存関係を`requirements.txt`に保存
python -m pip freeze > requirements.txt
既存Pythonプロジェクトの【初期設定】 | 仮想環境を構築する場合
requirements.txtから必要なパッケージ / モジュールをインストールします。
- 1. 仮想環境を格納しているディレクトリへ移動
cd 仮想環境格納ディレクトリまでのファイルパス
- 2. 仮想環境をアクティベート
# Mac | Linux の場合:
source 仮想環境名/bin/activate
# Windows の場合:
仮想環境名\Scripts\activate
-
3. プロジェクトに必要なパッケージ / モジュールをインストール
仮想環境をアクティベートした状態でrequirements.txtへのファイルパスを指定してインストールを実施
# ※以下は`requirements.txt`をルートに置いている場合
python -m pip install -r ../requirements.txt
venvは万能ではない
注意事項としてvenvは以下のような複雑さを持つ場合に課題が生じるので、このような場合はPipenvやPoetryなど他のツールがより適切となります。
- 複雑な依存関係を持つ場合
- 開発環境と本番環境で異なる設定が必要な場合
- 厳密なバージョン管理が必要な場合
以降では近年注目を集めているuvについても軽く触れておきます。
uv
仮想環境構築に加えて、パッケージ管理までも実現できる(2025年時点では比較的新しい)サードパーティライブラリです。
パッケージ管理 + 仮想環境という機能を持ち合わせていながらも、Rust製による非常に高速なパフォーマンスを備えているのが特徴で、venvとpipの機能を統合し、より効率的なワークフローを提供しています。
ただし、uvは前述の通り新しいツールなのでエコシステムの周辺ツールや導入サポートが未成熟だと思います。
安定したパフォーマンスを求める場合はスタンダードなものを選んだほうが無難かもしれません。
パッケージ / モジュールの取り扱い関連
インストール
pip install パッケージ / モジュール名
# または python -m pip install パッケージ / モジュール名
アンインストール
pip uninstall パッケージ / モジュール名
# または python -m pip uninstall パッケージ / モジュール名
アップグレード
pip install --upgrade(または-U) パッケージ / モジュール名
# または python -m pip install --upgrade(または-U) パッケージ / モジュール名
- 例:
pipのアップグレード
python -m pip install --upgrade pip
パッケージ / モジュールの情報を確認
pip show パッケージ / モジュール名
# または python -m pip show パッケージ / モジュール名
パッケージ / モジュールの一覧を確認
pip list
# または python -m pip list
さいごに
本記事では仮想環境やパッケージ / モジュールのインストール関連などに触れてきました。
次の記事では、Pythonにおけるデータ構造(リスト・タプル・集合・辞書)を紹介していきたいと思います。
ここまで読んでいただき、ありがとうございました。
参考