Python のモジュールについて

Python のモジュールをインストールする場合通常はパッケージから行うが、Python を説明したサイトでは pip を使うことを推奨している場合も多い。

そこで今回は、パッケージと pip での動作の違いなどについて説明する。

なお、ここでインストールするパッケージは「whois」で、Python 3.12 を利用してある。


パッケージからのインストール

fedora では Python のモジュールパッケージは「python3-」から始まる。

そこでパッケージとしてインストールする場合は次の様にする。

なお、モジュールがインストールされる場所は、「/usr/lib64/python3.12/」であり、アプリケーションモジュールの場合は「/usr/lib/python3.12」である。

利点

  • パッケージとして管理されているので、通常の更新でバージョンアップが行われる。
  • 動作テストが行われているので、不具合が少ない。
  • バグはパッケージとして管理されている。
  • 全てのユーザーが利用できる。

欠点

  • バージョンアップが少し遅い。
  • pip で管理されているモジュールの中には存在しないものが結構ある。

pip で root からインストール

root で pip を実行した場合、「/usr/local/」の環境にインストールされる。

そこで、root でインストールする場合は次の様にする。

なお、モジュールがインストールされる場所は、「/usr/local/lib64/python3.12/」であり、アプリケーションモジュールの場合は「/usr/local/lib/python3.12」である。

利点

  • 最新バージョンがインストール出来る。
  • 全てのユーザーが利用できる。

欠点

  • 十分なテストが行われておらず、バグが混入する場合がある。
  • 更新は手動で行う必要がある。

pip でユーザーアカウントからインストール

ユーザーアカウントから pip を実行した場合、「~/.local/」の環境にインストールされる。

そこで、ーザーアカウントからインストールする場合は次の様にする。

なお、モジュールがインストールされる場所は、「~/.local/lib/python3.12/」である。

利点

  • 最新バージョンがインストール出来る。

欠点

  • 十分なテストが行われておらず、バグが混入する場合がある。
  • 更新は手動で行う必要がある。
  • 他のユーザーは利用できない。

pip で仮想環境にインストール

例えば作成するアプリケーション毎に仮想環境を作成しする事が出来る。

当然に pip も仮想環境にインストールされるので、システムやユーザー環境に影響を及ぼす事もない。

そこで、仮想環境の構築と pip のインストールを説明する。

仮想環境の構築

これで「env」という名前の仮想環境が構築された。

開発するソースなどは全て「env」以下のディレクトリで行うこと。

  • env/include/
  • env/lib/
  • env/bin/

仮想環境の開始

仮想環境での pip

なお、モジュールがインストールされる場所は、「env/lib/python3.12/」である。

仮想環境の終了


pip のバージョン管理

root での場合は「sudo」を前に付けて実行する事。

インストールされている場所やバージョンなどの確認

更新可能なモジュールの確認

モジュールの更新

バージョンを指定してのインストール


PYTHONPATH について

Python がライブラリを検索する場所を指定する環境変数「PYTHONPATH」が存在するが、Fedora39 の環境では特に指定する必要はなかった。

必要があれば、「system-python-setting.sh」で以下の様に指定すると良いだろう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です