Pythonでの仮想環境入門

この記事では、Pythonでの仮想環境の概念を紹介します。仮想環境は、依存関係を管理してプロジェクトをOSから分離するために不可欠です。
仮想環境とは?
仮想環境とは、次が含まれているフォルダのことです。
- 特定のバージョンのPython
- 最初は空のsite-packagesディレクトリ
仮想環境により、OSのPythonインストールとその他のプロジェクトからプロジェクトを分離できるようになります。
使用方法
仮想環境を使用するには、これらの手順に従います。
仮想環境を作成する:Pythonに標準搭載されている
venvモジュールを使用すると、仮想環境を作成できます。 ターミナルを開いて、以下を実行します。python -m venv .venv.venvを希望する環境名に置き換えます。仮想環境を有効化する:仮想環境を作成した後に、有効化する必要があります。 コマンドは、オペレーティングシステムによって異なります。
- Windowsの場合
.venv\Scripts\Activate.ps1エラーが発生した場合は、ターミナルで以下のコマンドを実行する必要がある可能性があります。
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force; .venv\Scripts\Activate.ps1- macOSおよびLinuxの場合
source .venv/bin/activate
有効化されると、ターミナルのプロンプトが変わり、仮想環境内で作業していることが分かります。
例:
(.venv) user@machine:~/project$
ターミナルのプロンプトに (.venv) の接頭辞が表示されています。これは、仮想環境が有効であることを示しています。
次に、pip を使ってパッケージをインストールします。グローバルのPythonインストールではなく仮想環境にインストールされます。
IRISで仮想環境を使用できますか?
なるほど、いい質問です!
答えは簡単です。「はい」と「いいえ」の両方です。
- いいえ、できません。IRISは仮想環境を正式にサポートしていません。
- はい、できます。これらすべての記事を読んで、Pythonの仕組み、IRISの仕組み、さらに仮想環境とは何なのかを理解できました。適切な構成と設定を使用することで、IRIS内で仮想環境をシミュレーションできるかもしれません。
IRISで仮想環境をシミュレーションする方法
仮想環境には2つのものが含まれています。
- 特定のバージョンのPython
- site-packagesディレクトリ
IRISには「Flexible Python Runtime」と呼ばれるものがあり、以下を行うことができます。
- 特定のバージョンのPythonを使用する。
- 特定のディレクトリを含むために
sys.pathを更新する。
Flexible Python Runtime を使って sys.path に特定のディレクトリと特定のPythonバージョンを追加することで、IRISで仮想環境をシミュレーションできます。 🥳
IRISでの Flexible Python Runtime の設定は簡単です。IRISドキュメントにある手順に従います。
簡単に言うと、次を行う必要があります。
使用したい特定のPythonのlib pythonファイルにポイントするよう
PythonRuntimeLibraryを構成します。例:
- Windows:C:\Program Files\Python311\python3.dll(Windows上のPython 3.11)
- Linux:/usr/lib/x86_64-linux-gnu/libpython3.11.so.1.0(x86アーキテクチャでのUbuntu 22.04上のPython 3.11)
使用したい特定のPythonのsite-packagesディレクトリにポイントするよう
PythonPathを構成します。例:
- 仮想環境のsite-packagesディレクトリを使用します。これは
.venv/lib/python3.x/site-packagesディレクトリに通常配置されます。
- 仮想環境のsite-packagesディレクトリを使用します。これは
⚠️ これは、特定のバージョンのPythonと特定のsite-packagesディレクトリを使用するよう、IRISインスタンス全体を設定します。
🩼 制限:
- モジュールの記事で紹介した
<installation_directory>/lib/pythonなど、IRISはsys.pathに自動的にディレクトリをいくつか追加するため、仮想環境とまったく同じsys.pathにはなりません。
🤫 自動化する場合、この素晴らしいパッケージを使用することもできます:iris-embedded-python-wrapper
使用するには、以下が必要です。
venv環境にいることを確認して、パッケージをインストールします。
(.venv) user@machine:~/project$
pip install iris-embedded-python-wrapper
その後、以下のコマンドを使ってこのvenvをIRISにバインドするだけです。
(.venv) user@machine:~/project$
bind_iris
以下のメッセージが表示されます。
INFO:iris_utils._find_libpyton:Created backup at /opt/intersystems/iris/iris.cpf.0f4a1bebbcd4b436a7e2c83cfa44f515
INFO:iris_utils._find_libpyton:Created merge file at /opt/intersystems/iris/iris.cpf.python_merge
IRIS Merge of /opt/intersystems/iris/iris.cpf.python_merge into /opt/intersystems/iris/iris.cpf
INFO:iris_utils._find_libpyton:PythonRuntimeLibrary path set to /usr/local/Cellar/python@3.11/3.11.13/Frameworks/Python.framework/Versions/3.11/Python
INFO:iris_utils._find_libpyton:PythonPath set to /xxxx/.venv/lib/python3.11/site-packages
INFO:iris_utils._find_libpyton:PythonRuntimeLibraryVersion set to 3.11
IRISからのvenvのバインドを解除するために、以下のコマンドを使用できます。
(.venv) user@machine:~/project$
unbind_iris
まとめ
Pythonで仮想環境を使用するメリット、仮想環境の作成および使用方法、Flexible Python Runtime を使ってIRISで仮想環境をシミュレーションする方法を紹介しました。