python は仮想環境で

(2025-10-08)

python はとても優秀なコンピュータ言語で、現在人気ナンバーワンです。

python を使えばありとあらゆることができてしまいます。

php もとてもわかりやすい言語ですが、例えば dicom ファイルのタグ情報を読んだり編集したりすることはできません。しかし、そういうことも python にはできるのです。

ソースコードはネット上にたくさんあり、しかも chatGPT の登場によって python を使う機会は更に増えていくと思います。

仮想環境とは?

仮想環境(venv, virtualenv, condaなど)は、Python本体とライブラリをプロジェクトごとに分離して管理できる仕組みです。

仮想環境を使う理由は

  1. プロジェクトごとに依存関係を分離できる
  2. あるプロジェクトでは Django 4.0 を使い、別のプロジェクトでは Django 3.2 を使いたい場合でも衝突しません。
  3. システム全体を汚さない
  4. pip install してもシステム全体のPython環境に影響を与えません。
  5. 再現性が高い
  6. requirements.txt に依存パッケージを記録しておけば、他の環境でも同じ構成を簡単に再現できます。
  7. 安全性が高い
  8. 不要になったら仮想環境フォルダを削除するだけでクリーンに片付け可能です。

chatGPT によると、仮想環境には以下のような種類があるようです。

ツールおすすめ用途特徴
venv / virtualenv小規模・学習用軽量・シンプル
condaデータ分析・ML複雑な依存関係も簡単管理
pipenvWeb開発・中規模自動依存解決・再現性高
Poetry本格プロジェクト高速・パッケージ公開まで対応

venv 導入

python3.12-venv をインストール。

sudo apt update
sudo apt install python3.12-venv python3-pip

起動します。

cd /home/moheno/vscode_python
# venv作成(pythonコマンドは3.12を指す)
python -m venv venv
# 仮想環境有効化
source venv/bin/activate
# 確認
python --version # => Python 3.12.x

コマンドラインでは

(venv) moheno@moheno-Vostro-3681:~/vscode_python$

という感じになります。

仮想環境から出る場合は、

deactivate

venv 設定以外の場所では python は動かさない

現在、/home/moheno/vscode_python の中に venv が設定されているので、他の場所で python を動かそうとしても pandas などが必要であれば動きません。

私は、/home/moheno/ドキュメント/健康 などに python を置いて動かしていましたが、最初は当然動かないので強制的に pandas などをインストールしていました。

pip install --break-system-packages --user matplotlib

でもこれは良くないようですね。

python プログラムは venv 環境のあるフォルダで一括管理して、それを動かすシェルスクリプトで以下のようにすればいいようです。

#!/bin/sh
/home/moheno/vscode_python/venv/bin/python /home/moheno/vscode_python/PyPlot/BP.py
/home/moheno/vscode_python/venv/bin/python /home/moheno/vscode_python/PyPlot/Diet.py

すべて絶対パスで記述しているので、このシェルスクリプトはどこに置いても動きます。