JSL 環境にローカル Python モジュールをインストールして使用するためのベスト プラクティスはありますか?
「JSL を使用して Python パッケージをインストールする」のドキュメントを読みましたが、これは標準ライブラリ向けであるようです。JMP がカスタム モジュールを検索するデフォルトの場所はありますか?
JSL を使用してカスタム モジュールの更新を管理する方法はありますか?
カスタム モジュール、パッケージ、またはライブラリを操作する場合、何か違いはありますか?
JMP を使用していない場合は、どのように管理しますか? おそらく、JMP を使用する場合は、同様のものを利用できるでしょう。
JMP は、起動スクリプトが .jsl または .py と同じディレクトリにある場合は、それを「見つけます」。起動スクリプトが .jsl の場合、JMP 18.0 では .py インポートが見つからないという問題があります。
18.1以降では.jslまたは.pyスクリプトの両方で正常に動作するはずです。
もう 1 つの方法は、pyproject.toml ファイルを作成し、スクリプトをファイルと同じ名前のディレクトリと適切な pyproject.toml ファイルに配置することです。これにより、インストール可能なパッケージが作成され、jpip はこれを JMP の site-packages/ の場所にインストールできます。インストール可能な Python パッケージの作成については、Python.org のドキュメントまたは他の多くのチュートリアルを参照してください。たとえば、 https
/til.simonwillison.net/python/pyproject などです。
以下のコードは手抜きで、おそらく Python のベスト プラクティスに従っていません。通常は、パッケージ ディレクトリに一致するファイルではなく、__init__.py ファイルと __main__.py または main.py があると思います... ただし、toml ファイルでは、以下に示すように、依存関係など、多くのものを指定できます。
dt2pandas/
dt2pandas.py
pyproject.toml
pyproject.toml
[プロジェクト]
名前 = "dt2pandas"
description = "jmp.DataTable から pandas.DataFrame への例"
著者 = [
{ 名前 = "Paul R. Nelson", メールアドレス = "paul.nelson@jmp.com" }
]
バージョン = "0.1"
依存関係 = [ "pandas" ]
その時点で、
jmputils.jpip('インストール', '-e _my_path_to/ dt2pandas')