質問
· 2024年12月4日

Embedded Python からの venv環境の利用は出来ますか?

Pythonでは、拡張モジュールのバージョン違いが混同されないように、venv を使って仮想環境に拡張モジュールをインストールする事を推奨されてたりしますが、IRISから使用する場合に、このvenvで作られた仮想環境を利用する事は可能でしょうか?

PythonPathに仮想環境のパスを指定してはみましたが、プロジェクトから、あるいはimportで、その場所を指定する等出来るでしょうか?

何方か御存知の方がおられましたら、その方法などを教えて下さい。

Product version: IRIS 2023.2
$ZV: IRIS for UNIX (Ubuntu Server LTS for ARM64 Containers) 2023.2 (Build 227U) Mon Jul 31 2023 17:40:50 EDT
ディスカッション (4)1
続けるにはログインするか新規登録を行ってください

Akio さん、こんにちは!
venv 用の IRIS Embedded Python へのラッパーが、GitHub で公開されています。
https://github.com/grongierisc/iris-embedded-python-wrapper
紹介DC記事 https://community.intersystems.com/post/embedded-python-virtual-environe...

紹介DC記事は、コメント側に最新 alias コマンドが掲載されていますのでご注意ください。
どちらも英語ママですが、こちらお役に立てそうでしょうか?

@Seisuke Nakahashi さん

情報ありがとうございます。
そちらの紹介記事は読みましたが、意味があまり理解できていなくて。。。

このIRIS Embedded Pythonへのラッパーというのは、venvで作った仮想環境からIRISに繋ぐ物だと理解したのですが違いますか?
自分がやりたいのは、IRIS内(IRISのクラス(language="python")からvenvの仮想環境にある拡張モジュールを使うという事なのですが、私の理解が間違ってますか?

@Akio Hashimoto さん

 失礼しました、ほんとうですね。記事をよく読むと「venv 環境から IRISインスタンスに接続して SQL実行できます」って書かれていました。逆でした・・・

残念ながら、現時点 (2024年12月時点) の Embedded Python では、venv のような仮想環境の作成は対応していません。そのため、別に作成された仮想環境にアクセスしたりインポートもできない状態です。

いつか対応してくれるといいな、と私も思っています!