一覧へ

pipと仮想環境でPythonパッケージを管理する

pip install、venv、conda、requirements.txtの使い方。研究者のためのPython環境管理入門。

入門
|
45
|
検証済み (2026-06)
pip仮想環境venvcondaパッケージrequirements.txt
進捗0/7 (0%)

pipと仮想環境でPythonパッケージを管理する

このトピックを終えたら

pipでパッケージをインストールし、仮想環境(venv)でプロジェクトごとの環境を分離し、requirements.txtで環境を再現できるようになります。


パッケージが必要な理由

Pythonの基本機能だけでも多くのことができますが、バイオデータ分析でよく必要な機能は他の開発者がすでに作っています:

やりたいことパッケージ例え
表形式データの処理pandasExcelのPython版
グラフを描くmatplotlib論文Figure生成器
数学/統計演算numpy, scipy統計ソフトウェア
DNA/タンパク質分析biopython配列分析ツールキット
HTTPリクエストrequestsNCBI API呼び出し用

試薬を毎回自分で合成せずカタログから注文するように、パッケージも自分で作らずpipでインストールします。

pip: パッケージのインストール

pipはPythonのパッケージ管理ツールです。ターミナルで実行します:

bash
# パッケージをインストール
pip install pandas
# 特定のバージョンをインストール
pip install pandas==2.2.0
# 複数のパッケージを一度にインストール
pip install numpy matplotlib scipy
# インストール済みパッケージの一覧を確認
pip list
# パッケージを削除
pip uninstall pandas

Google Colabではセルの先頭に!を付けて実行します:!pip install biopython

import: インストールしたパッケージを使う

インストールしたパッケージはimportでコードに読み込みます:

python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
data = np.array([1.2, 3.5, 2.8, 4.1, 3.9])
mean_val = np.mean(data)
print(f"平均OD値: {mean_val:.2f}")
assert abs(mean_val - 3.1) < 0.01

as npはエイリアス(別名)です。numpy.mean()の代わりにnp.mean()と短く書けます。nppdpltは世界中の開発者が使う慣例的なエイリアスです。

仮想環境が必要な理由

プロジェクトAではpandas 1.5が必要で、プロジェクトBではpandas 2.2が必要な場合は? 1つのPythonに2つのバージョンを同時にインストールすることはできません。

研究室の例え — 実験ごとに使う試薬セットが違います。Western Blotの試薬とELISAの試薬を同じ棚に置くと混乱します。実験ごとに試薬棚を分ければすっきりします。

仮想環境 = プロジェクトごとの試薬棚

venv: 仮想環境を作る

Python内蔵モジュールvenvを使います:

bash
# 1. 仮想環境を作成(プロジェクトフォルダ内で)
python3 -m venv .venv
# 2. 仮想環境を有効化
# Mac/Linux:
source .venv/bin/activate
# Windows:
.venv\Scripts\activate
# 3. 有効化を確認 — プロンプトの前に(.venv)が付く
(.venv) $ which python
# → /プロジェクトパス/.venv/bin/python
# 4. この環境にパッケージをインストール
pip install pandas numpy matplotlib
# 5. 無効化(他のプロジェクトに移動する時)
deactivate

有効化状態でpip installすると、その仮想環境にのみパッケージがインストールされます。他のプロジェクトには影響しません。

requirements.txt: 環境を再現する

「自分のPCでは動くのに同僚のPCでは動かない」— 開発で最もよくある問題です。requirements.txtがこの問題を解決します。

bash
# 現在の環境のパッケージ一覧をファイルに保存
pip freeze > requirements.txt

生成されたrequirements.txt

text
numpy==1.26.4
pandas==2.2.0
matplotlib==3.8.3
scipy==1.12.0

同僚がこのファイルを受け取ったら:

bash
# 仮想環境を作って有効化した後
pip install -r requirements.txt

1行で同一のパッケージ環境が再現されます。実験プロトコルに試薬カタログ番号を記しておくのと同じ原理です。再現性の鍵です。

conda: 科学研究用パッケージ管理ツール

condapipに似ていますが、Pythonパッケージだけでなく、CライブラリやRパッケージまで管理できます。バイオインフォマティクスではcondaがより多く使われます:

bash
# conda環境を作成
conda create -n bioanalysis python=3.12
# 環境を有効化
conda activate bioanalysis
# パッケージをインストール(biocondaチャンネル)
conda install -c bioconda biopython samtools
# 環境一覧を確認
conda env list
# 環境をエクスポート(再現用)
conda env export > environment.yml
pip + venvconda
対象PythonパッケージのみPython + C/R + バイナリツール
環境管理別々(venv統合(conda create
バイオツール限定的biocondaチャンネルで豊富
容量軽量重い(Miniconda推奨)
推奨場面Web開発、軽い分析バイオインフォ、大規模分析

最初はpip + venvで始めて、samtoolsBLASTのようなバイオツールが必要になったらcondaに切り替えましょう。

やってみよう(Faded Example)

空欄を埋めて、仮想環境の作成とパッケージのインストールコマンドを完成させてください。

穴埋め問題bash
# 仮想環境を作成
python3 -m .venv
# 有効化(Mac/Linux)
.venv/bin/activate
# パッケージをインストール
pip pandas numpy
# 現在の環境を保存
pip freeze > .txt

よくあるエラーと解決法

Q: ModuleNotFoundError: No module named 'pandas'が出ます

パッケージがインストールされていないか、別のPython環境にインストールされています。which pythonで現在どのPythonを使っているか確認してください。仮想環境を有効化しているかも確認しましょう。

Q: pip installしたのにimportできません

ターミナルのpipとJupyter NotebookのPythonが異なる環境である可能性があります。Jupyterではセルで!pip install pandasを実行した後、カーネルを再起動してください。

Q: pippip3の違いは何ですか?

pipはデフォルトPython用、pip3はPython 3専用です。Python 2と3の両方がインストールされている場合に区別が必要です。仮想環境内ではpipが常にその環境のPythonに接続されるので、区別する必要はありません。

Q: .venvフォルダをGitにアップロードしてもいいですか?

しないでください。.venvには数百MBのパッケージバイナリが含まれています。.gitignore.venv/を追加し、requirements.txtだけをGitにアップロードしてください。同僚はrequirements.txtから自分の環境を作ればいいのです。

💬 質問・コメント

0件のコメント

ログインせずに投稿できます。ゲスト投稿は投稿者自身で編集・削除できません。

0/2000

読み込み中...