Iijimaさん
ありがとうございます。
--target なしで、パッケージをインストールして、埋め込みPythonで利用できること確認しました。
管理者PowerShell
PS C:\> python -m pip install emoji
Collecting emoji
Using cached emoji-2.14.1-py3-none-any.whl.metadata (5.7 kB)
Using cached emoji-2.14.1-py3-none-any.whl (590 kB)
Installing collected packages: emoji
Successfully installed emoji-2.14.1
[notice] A new release of pip is available: 24.2 -> 25.0.1
[notice] To update, run: python.exe -m pip install --upgrade pip
PS C:\> python -m site --user-site
C:\Users\imait\AppData\Roaming\Python\Python312\site-packages
PS C:\> python
Python 3.12.7 (tags/v3.12.7:0b05ead, Oct 1 2024, 03:06:41) [MSC v.1941 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import emoji
>>> emoji.emojize('IRIS is :thumbs_up:')
'IRIS is 👍'
>>> emoji.__path__
['C:\\Users\\imait\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\emoji']
>>>
>>> import sys
>>> sys.path
['', 'C:\\Users\\imait\\AppData\\Local\\Programs\\Python\\Python312\\python312.zip', 'C:\\Users\\imait\\AppData\\Local\\Programs\\Python\\Python312\\DLLs', 'C:\\Users\\imait\\AppData\\Local\\Programs\\Python\\Python312\\Lib', 'C:\\Users\\imait\\AppData\\Local\\Programs\\Python\\Python312', 'C:\\Users\\imait\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages']
IRIS
USER>:py
Python 3.12.7 (tags/v3.12.7:0b05ead, Oct 1 2024, 03:06:41) [MSC v.1941 64 bit (AMD64)] on win32
Type quit() or Ctrl-D to exit this shell.
>>> import emoji
>>> print(emoji.emojize('IRIS is :thumbs_up:'))
IRIS is 👍
>>> emoji.__path__
['C:\\Users\\imait\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\emoji']
>>>
>>> import sys
>>> sys.path
['C:\\Users\\imait\\AppData\\Local\\Programs\\Python\\Python312\\python312.zip', 'C:\\Users\\imait\\AppData\\Local\\Programs\\Python\\Python312\\DLLs', 'C:\\Users\\imait\\AppData\\Local\\Programs\\Python\\Python312\\Lib', 'c:\\intersystems\\iris1\\bin', 'c:\\intersystems\\iris1\\mgr\\python', 'c:\\intersystems\\iris1\\lib\\python', 'C:\\Users\\imait\\AppData\\Local\\Programs\\Python\\Python312', 'C:\\Users\\imait\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages']
IRISの sys.pathは、ネーティブpythonの sys.path の ...\\Lib の後ろに
'c:\\intersystems\\iris1\\bin',
'c:\\intersystems\\iris1\\mgr\\python',
'c:\\intersystems\\iris1\\lib\\python',
が追加されてます。
最初、pythonコマンドとpython3コマンドの違いが分からず、うまく行きませんでした。
python3コマンドは、python V3の場合に常に使うものと勘違いし、パッケージインストールを
PS C:\>python3 -m pip install パッケージ
で行ってました。こうすると、
PS C:\> python3 -m pip install emoji
Defaulting to user installation because normal site-packages is not writeable
Collecting emoji
Using cached emoji-2.14.1-py3-none-any.whl.metadata (5.7 kB)
Using cached emoji-2.14.1-py3-none-any.whl (590 kB)
Installing collected packages: emoji
Successfully installed emoji-2.14.1
正常にインストールされているようですが
Defaulting to user installation because normal site-packages is not writeable
の表示があり、インストール先は、調べると、...\Lib\site-packages\emoji\ でなく
c:\users\imait\appdata\local\packages\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\localcache\local-packages\python312\site-packages\emoji\*
にインストールされていました。このpathを、sys.path にappendしないと、import 出来ません。
当方の環境
PS C:\> python -VV
Python 3.12.7 (tags/v3.12.7:0b05ead, Oct 1 2024, 03:06:41) [MSC v.1941 64 bit (AMD64)]
と
PS C:\> python3 -VV
Python 3.12.9 (tags/v3.12.9:fdb8142, Feb 4 2025, 15:27:58) [MSC v.1942 64 bit (AMD64)]
(なぜか?)V3が2つあり、私の環境では python3コマンドの使用は間違いでした。
PS C:\> python -m site
sys.path = [
'C:\\',
'C:\\Users\\imait\\AppData\\Local\\Programs\\Python\\Python312\\python312.zip',
'C:\\Users\\imait\\AppData\\Local\\Programs\\Python\\Python312\\DLLs',
'C:\\Users\\imait\\AppData\\Local\\Programs\\Python\\Python312\\Lib',
'C:\\Users\\imait\\AppData\\Local\\Programs\\Python\\Python312',
'C:\\Users\\imait\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages',
]
USER_BASE: 'C:\\Users\\imait\\AppData\\Roaming\\Python' (doesn't exist)
USER_SITE: 'C:\\Users\\imait\\AppData\\Roaming\\Python\\Python312\\site-packages' (doesn't exist)
ENABLE_USER_SITE: True
PS C:\> python3 -m site
sys.path = [
'C:\\',
'C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.12_3.12.2544.0_x64__qbz5n2kfra8p0\\python312.zip',
'C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.12_3.12.2544.0_x64__qbz5n2kfra8p0\\DLLs',
'C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.12_3.12.2544.0_x64__qbz5n2kfra8p0\\Lib',
'C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.12_3.12.2544.0_x64__qbz5n2kfra8p0',
'C:\\Users\\imait\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python312\\site-packages',
'C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.12_3.12.2544.0_x64__qbz5n2kfra8p0\\Lib\\site-packages',
]
USER_BASE: 'C:\\Users\\imait\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\\LocalCache\\local-packages' (exists)
USER_SITE: 'C:\\Users\\imait\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python312\\site-packages' (exists)
ENABLE_USER_SITE: True
PS C:\>
余談ですが、Pyhon自身のバージョン管理、使うパッケージのバージョン管理(場所)は、格好悩ましいですね。
ちなみに、Pythonネーティブ環境で、sys.path に sys.path.append('c:/intersystems/iris1/mgr/python') すると、IRISに落としたパッケージも使えるようです。
また、逆に、管理ポータル システム > 構成 > メモリ詳細設定 > メモリ設定編集 > PythonPath に追加path(複数指定可)を指定すると、埋め込みPython の sys.path の 'c:/intersystems/iris1/lib/python' の 後ろ!!に追加され、パッケージの別管理も出来るようです。
Iijimaさん
ありがとうございます。Python Load 成功しました。
追加で質問です。
Pythonパッケージのインストール(アップグレード)方法とその場所について
IRIS 2024.2からirispipコマンドもなくなっているようでね。
第2回-開発者コミュニティ・ミートアップ より例:
pip3 install flask
マニュアルより
Install Python Packages on Windows
https://docs.intersystems.com/iris20243/csp/docbook/DocBook.UI.Page.cls?...
On Windows, the irispip command was removed in InterSystems IRIS 2024.2.
On Windows, use the command python -m pip install --target <installdir>\mgr\python <package>.
それで、インストールコマンドは
python3 -m pip install --target <installdir>\mgr\python <package>
または
pip3 install --target <installdir>\mgr\python <package>
が正解ですか?
--target は省略可能ですか?(その場合、パッケージの保存場所や埋め込みPythonでの利用は?)
ちなみに、Python3.12 標準インストール後も、以前、irispipでインストールしていたパッケージは一応動いているようです。
Iijimaさん
VSCodeのサイドバー下「」Intersystem のPROJECTS でプロジェクト名を右クリックで「Add Items to Project」があり、プロジェクトにプログラムを追加出来ました。
ありがとうございます。