JMP 14 Python の機能 - 機能していますか? 私は混乱していますJMP 14 の新しい機能を使用して Python を実行しようとしていますが、機能しません。基本的にPythonのインストールが見つかりませんが、状況によってはクラッシュするだけだと思います。
私が見た別の議論14.1には問題があったと述べ、環境変数の設定と使用に関する回避策を提案していますPythonのバージョン(「3.6」)を使用してくださいに対する議論としてPython の初期化() (どちらも私は失敗しました)。
その後、14.2 のリリース ノートでこれについて詳しく知り、関連する環境変数の別の名前も含まれていました...
https://www.jmp.com/support/help/14-2/how-jmp-finds-python-on-windows.shtml
そこで、14.1 からアップグレードしようとしたところ、14.3 があることを確認して、それを入手しました。 14.2 の投稿にある環境変数の指示を試すと、それは非推奨であり、JMP_PYTHON_MODULE_PATH になるはずであるというメッセージが表示されます。それで私はそれを試してみました、私は考える正しいファイルへの有効なパスを指定し、14.2 の投稿と同じ形式を使用しますが、まだ機能しません。思い立って、JMP15 の初期バージョンでもこれを試してみましたが、同じ結果が得られ、環境変数を JMP_PYTHON_MODULE_PATH と呼ぶ必要があるという同じメッセージが表示されました。
すべての場合 (14.1、14.3、15 の初期採用者、環境変数のさまざまなバージョン) で、Python Init() に引数がない場合、JMP はその行ですぐにクラッシュします。そこに UsePythonVersion("3.6") があると、Python がまったく見つからないというエラーが返されます。
このシステムには Python のインストールが見つかりません。 JMP Python サポートには、Python バージョン 3.0 以降が必要です。 'Python Init' へのアクセスまたは評価では、Python Init/*###*/(Use Python Version( "3.6" ))
これをうまく使っている人はいますか?もしそうなら、Python Init()の中に何かを入れていますか?
または、環境変数の設定を使用した場合、それは何と呼ばれ、どのように見えるのでしょうか?さらにトラブルシューティングに関するアドバイスはありますか?
環境変数に対する私の最新の試みは次のようになります...これは正しい形式ではありませんか? (以前の投稿では、JMP が JSL リスト形式として確認したいように、環境変数に中括弧と二重引用符が含まれているように見えましたが、これは 4.2 の投稿がやろうとしていることのようで、他の形式も私には機能しませんでした...python36.dll ファイルは実際にはするこの場所にあるようです...
私のシステムに特有の異常な問題が発生しており、技術サポートが必要なのか、それともこれがどのように機能するのかを示す最新バージョンを入手していないだけなのか、わかりません。
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱しています環境変数を使用することは、決して好ましい方法ではありませんでした。 Python Init() または Python Connect() への JSL スクリプト パラメーターは、常に最終的な値であることが「想定」されていました。 すべてのパラメーターはオプションですが、python3x.dll へのパスを指定し、最後の手段として sys.path に追加して Python を完全に指定する必要があります。 Python の統合により、JMP 14 以降、Python の検出が大幅に改善されました。 現時点では、環境変数の使用は逆効果である可能性が高いため、使用しないでください (ノブをいじる時間がなく、他のすべてが失敗する場合を除き、これは代替コード パスです)。 JMP 16.1 以降では、JSL スクリプト パラメータは他のものをオーバーライドする必要があります...
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱しています返答が少し遅れていることは承知していますが、このトピックは JMP と Anaconda の新しいバージョンに合わせて編集および更新する必要があります。2021 年 8 月 24 日に Python 3.8 と JMP 16 の統合に成功したことに注意してください。
このスレッドに投稿された「解決策」に真っ向から反しますが、環境変数は絶対に変更しないでください。
する。
ない。
この「解決策」により、私は数週間統合と開発に失敗しました。JMP をインストールまたは更新した後、Anaconda の新しいバージョン (Anaconda Navigator を使用できます) をインストールし、Anaconda のベース (ルート) 環境が少なくとも 3.8.3 であることを確認する必要があります。3.8.8 でもテストして成功しました。
次の手順を実行して、パスとインストールを確認できます。
- C:\Program Files\SAS\JMP\\ に移動します (ここに表示されない場合は、C:\Program Files (x86)\SAS\JMP\\ を確認してください)
- InstallChecker.exe をダブルクリックします (Install Checker と表示される場合もあります)。
- レポートが表示されたら、「ブラウザで開く」を選択します。
XML ファイルが表示され、最後に次の内容が表示されるはずです。
-<カテゴリ名="Python 統合">
"/>
"/>
"/>
"/>
"/>
私の場合、環境変数を次のように変更した後、統合は成功しました。
"/>
"/>
これがお役に立てば幸いです。このスレッドの解決策は単に機能しないため、削除することを強くお勧めします。
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱していますJMP 15.0 でも依然として同じ問題が発生しています。 PATH オプションを指定せずにリンクされた Anaconda をインストールしましたが、機能しました。
このパッケージはかなり古いため、Python 自体を 3.6.5 に更新しないように注意してパッケージを conda 更新する必要があることに注意してください (3.6.9 は私にとっては機能しませんでした)。
次のリリースで修正されることを願っています。
@FN書きました:
Windows 10 および JMP 14.2 では、次の場合にそのまま動作することを確認できます。
Anaconda Python 3.6* 64bit がインストールされています > https://repo.continuum.io/archive/Anaconda3-5.2.0-Windows-x86_64.exe ;
PATH オプションが有効になっています (管理者権限は必要ありません)。

私の言いたいことは、ユーザーが Anaconda のインストール、環境、バージョン管理に煩わされる必要がないように、ポータブル Python バージョンでアドインをデプロイできる機能についてでした。
助けてくれてありがとう。 次のアップデートで優れた Python 統合が行われることを楽しみにしています。
(*) Anaconda の現在のバージョンでは、この設定では JMP がクラッシュします。
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱していますデプロイメントに関しては、Python が他のユーザーのインストールを妨げなければすぐに問題ないと思います。
たとえば、1 つの特定のフォルダーにある JMP 15 EA8 から Python を呼び出そうとしています。
このフォルダーには、Anaconda/miniconda のすべてのインストール ファイルが含まれており、アンインストールする前にフォルダーにコピーしました。 コードはインストール時に機能しました。 現在、JMP は私が指定しているパスを使用していないようです。
Set Environment Variable( "JMP_PYTHON_MODULE_PATH",
"\["", "C:/Users/xxx/JMP_scripting/python/miniconda3/python36.zip",
"C:/Users/xxx/JMP_scripting/python/miniconda3/DLLs",
"C:/Users/xxx/JMP_scripting/python/miniconda3/lib",
"C:/Users/xxx/JMP_scripting/python/miniconda3",
"C:/Users/xxx/JMP_scripting/python/miniconda3/lib/site-packages",
"C:/Users/xxx/JMP_scripting/python/miniconda3/lib/site-packages/win32",
"C:/Users/xxx/JMP_scripting/python/miniconda3/lib/site-packages/win32/lib",
"C:/Users/xxx/JMP_scripting/python/miniconda3/lib/site-packages/Pythonwin"]\"
);
Python Init (Path("C:\Users\xxx\JMP_scripting\python\miniconda3"),
Init Trace("TRUE"),
Debug Print Statements ("TRUE"),
Debug Print Output("TRUE") );
Python Submit( "\[basket = ["apple", "orange", "pear"]
print(basket)]\" );
Python Term();
JMP 15 EA8 のエラー

JMP Pro 14.2 のエラー:
このシステムには Python のインストールが見つかりません。 JMP Python サポートには、Python バージョン 3.0 以降が必要です。 'Python Init' へのアクセスまたは評価では、Python Init/*###*/(Path(
「C:\ユーザー\xxx\JMP_scripting\python\miniconda3」
))
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱していますニース! それは素晴らしい使用例です。
理想的な JMP + Python ワークフローを探す場合、JMP (Pro) が JMP モデルの Python スコアリング コードを生成できることに注目してください。 これは、JMP 機能を Python の世界にプッシュするという、別の方向での統合をサポートします。
たとえば、JMP モデルを Oracle の大規模なデータ テーブルに適用したいとします。モデルを Python に変換し、UDF を使用してデータベース内でスコアを付けることができます (ただし、サポートは実験的なようです)。
https://oracle.github.io/oracle-db-mle/python/
または、JMP モデルを Python の同僚と共有して、彼女が Jupyter ノートブックで実行できるようにすることもできます。
また、JMP 15.0 では、データ視覚化ツールチップに外部画像をサムネイルとして表示することが容易になります。 これにより、JMP テーブルに直接インポートする必要性が軽減/排除され、テーブルのサイズが小さくなります。 もちろんパフォーマンスのコストはかかりますが、それは価値のあるトレードオフかもしれません。 そこに注目してください。
共有してくれてありがとう! 旅の様子をぜひお知らせください。
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱していますこれは素晴らしいですね - ありがとう!少なくとも数週間はテストする時間がありません (仮想環境を使わずに Python のインストールを完全にやり直したので、これを試すには多少の努力が必要です) が、すぐにテストしたいと思っています。
私の Python の使用を本格的に開始したのは、tensorflow と keras を使用して画像を分類することです。関連する画像をクエリし、Python を呼び出してモデルを実行し、結果を Oracle にプッシュする JMP スクリプトを実行しています。このタスク全体は、最終的には Python で行うことになると思いますが、今のところ JSL で行っています。なぜなら、私はこれまでのところ、Python で学習しているだけで、JSL のほうがはるかに熟練しており、JSL 自動化ジョブを実行するためのスキーム全体をすでに持っているからです。 、Oracle などにテーブルをプッシュするための関数が構築されています。
しかし、プロジェクト全体が本質的に JMP 関連ではないと思っていましたが、実際には、JMP テーブル内に他のデータと並べて画像を配置し、通常のすべての JMP 方法 (並べ替え、他のデータに基づいた選択) で操作できることが非常に便利であることがわかりました。データ列など。 このことがきっかけで、他の画像関連のアドインをいくつか作成するようになりました。最終的に、ライブのインタラクティブな JMP セッション中に Python を呼び出すことが私のプロジェクトで本当に必要なのか、それとも別のものにすることができるのかはまだわかりません (tf モデルの結果をインタラクティブにレビューするツールは、Oracle からの結果をクエリするだけで、直接呼び出すことはありません)モデルをライブで実行するには Python?) ですが、現在はそれらを一緒に使用しています。
とにかく、それは私が今のところ Python を使用している JMP にはないものです。 私は Python をもっと学ぼうとしていますし、同僚にはその専門家がいます。実際に Python を呼び出してその機能を JMP と連携させたいと思うことがもっと見つかると思います。
ありがとう!
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱していますやあ@ハードナー、
JMP とともに Python を使用する機会が増えてきたことを知り、うれしく思います。 あなたがこれまでに行ってきたことを共有していただければ、ぜひお知らせください。
仮想環境のサポートについては、お聞きします。 これは、依存関係を整理した状態に保ち、アドインを実行するために同僚が環境を再現できるようにするという点で、大きな違いをもたらします。
だからこそ、私はその問題を解決する小さなライブラリをまとめました。 チェックしてください:
https://community.jmp.com/t5/JMP-Scripts/Anaconda-Environments-Integration/ta-p/221565
14.3 と 15.1 でテストされた多数の例。 ただし、少なくとも現時点では Windows のみで、Anaconda に固有です。
効果があるかどうか教えてください。
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱していますこんにちは!
OPとしてこのスレッドに戻ってきて言うだけです...
- 最初の投稿以来、私は Python をさらに使用するようになり、私にとって効果があると述べたものは引き続き機能しています。:)
- Python をサポートする取り組みに感謝していますが、Python を具体的に使用できることがわかったので、さらに感謝しています。 ありがとう!
- FN と同様に、Python を呼び出すアドインの共有には問題があると思います。 多くのアドインを共有しています。私は今これを自分自身のためと、結果を他の人と共有するために実行するジョブに使用していますが、他の人が実行するスクリプトでは使用していません。Python とパッケージのインストールに関して複雑な指示を与える必要があり、特定のバージョンが連携して動作するかどうかを心配する必要がありました (私が使用している R でも同じ問題が発生しますが、共有スクリプトでは発生しません)。しかし、特定のバージョンが JMP 内にカプセル化されている場合、それを使用してできることは制限されてしまいます。おそらく仮想環境をサポートすることが役立つのではないかとまだ考えています。そうすれば、ユーザーが使用したい特定のツールの仕様に合わせてインストールをセットアップすることを指示してサポートでき、マシン上の他の Python アクティビティを妨げないようにすることができます。しかし、何が最適なのかはよくわかりませんし、ユーザーの Python インストールのトラブルシューティングにもそれほど熱心ではありません。したがって、それが理想的ではないことに同意し、この能力をもっと活用することに私はある程度の関心があることに注意してください。
ありがとう!
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱していますWindows 10 および JMP 14.2 では、次の場合にそのまま動作することが確認できています。
Anaconda Python 3.6* 64bit がインストールされています > https://repo.continuum.io/archive/Anaconda3-5.2.0-Windows-x86_64.exe ;
PATH オプションが有効になっています (管理者権限は必要ありません)。

私の言いたいことは、ユーザーが Anaconda のインストール、環境、バージョン管理に煩わされる必要がないように、ポータブル Python バージョンでアドインをデプロイできる機能についてでした。
助けてくれてありがとう。 次のアップデートで優れた Python 統合が行われることを楽しみにしています。
(*) Anaconda の現在のバージョンでは、この設定では JMP がクラッシュします。
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱していますあなたの質問を理解できるかどうかわかりません。 すべてのユーザーに Python をインストールするには確かに管理者アクセスが必要ですが、インストールされた Python を使用する場合は管理者アクセスは必要ありません。 Python を呼び出す JMP アドインのインストールまたは実行には管理者アクセスは必要ありません。 はい、すべてのユーザーに対してインストールされる追加の Python パッケージには管理者アクセスが必要です。 管理者によるインストールを必要としない、ユーザーごとにサイト ローカル パッケージをインストールできる必要があります。 これは私がテストしたいと思っていたものですが、試す機会がありました。 サイト ローカル パッケージの場所を追加するには、sys.path を更新する必要がある場合があります。
JMP 15 のドキュメントに関しては、この議論の一部が反映されていることは知っています。 残念ながら、締め切り前にすべてが文書化されたわけではありません。 残りの部分はメンテナンス リリースを通じて取り込む予定です。
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱していますすべてのユーザーにインストールするには管理者権限も必要ですが、Python を呼び出すアドインを配布する場合には不便です。
JMP 15 のドキュメントには、ここで議論された内容が含まれますか?
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱していますPython 3.7 をロードしようとしたときに JMP が突然終了する現象を、開発マシン上で再現することができました。Python 3.7、特に組み込みの場合に Python 3.8 で問題を抱えているのは私たち (JMP) だけではないことがわかりました。Python から得られたエラーは次のとおりです。
致命的な Python エラー: ファイル システム コーデックをロードできません
Jmp.exe の 0x00007FFE84F9B64E (ucrtbase.dll) で未処理の例外: 致命的なプログラムの終了が要求されました。
の現時点での解決策は、Python 3.6.5 またはそれ以降の 3.6.x を使用するか、ローカル ユーザーだけでなくすべてのユーザーのインストールとして Python 3.7.x を Windows にインストールする必要があり、また、次のオプションを選択する必要があります。 PATH 内の Python。これは、Anaconda3 のインストール ダイアログと直接矛盾し、パスに入れないことを警告します。
私の開発マシンは、システム全体のインストールとしてインストールされた 3.7.1 で正常に動作し、パス上のデフォルトの Python です。JMP の突然の中止を再現できた同僚のマシンでは、パス上にローカル インストールを行わないデフォルトのインストール オプションを使用して Python 3.7.1 をインストールしました。環境変数 PYTHONHOME= 'anaconda3 directory' を設定することで、JMP が終了しないようにすることができました。しかし、ここでも、コンソール プロンプトからであっても、numpy、scipi、pandas、または sqlite3 をロードさせることができませんでした。 私のマシン上のすべてが期待どおりに動作する場所。
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱していますUsePythonVersion("3.6") の詳細については、役立つ場合に備えて....
JMP を最初に開いたとき、この行は機能しません...
Python Init(Python バージョン ( "3.6" )、InitTrace( "True" ));
InitTrace() からのログは次のとおりです...
OpPythonInit オペレーターの処理
JMPからPythonへのインターフェースの初期化の開始
HKEY_CURRENT_USER をクエリする
読み取り hKey=0XFFFFFFFF80000001 kname=SOFTWARE\Python\PythonCore bits=64
hKey=0xFFFFFFFF80000001 kname=SOFTWARE\Python\PythonCore bits=64 が見つかりました
サブキーの数=1
サブキー #=0 を取得しています
サブキー=3.6 長さ=3
開始サブキー=3.6
開始キー=3.6 サブキー=InstallPath
クエリ値 key=3.6 subkey=InstallPath
クエリ値 key=3.6 subkey=InstallPath value=C:\Users\12470\AppData\Local\Continuum\anaconda3
開始キー=3.6 サブキー=PythonPath
クエリ値 key=3.6 subkey=PythonPath
Python DLL のバージョン = 3.6 へのビルド パス
このシステムには Python のインストールが見つかりません。 JMP Python サポートには、Python バージョン 3.0 以降が必要です。 'Python Init' へのアクセスまたは評価において、Python Init/*###*/(Use Python Version( "3.6" )、InitTrace( "True" ))
この行を何度も実行すると、この問題が繰り返し発生しますが、UsePythonVersion を使用せずにこのバージョンを実行すると...
Python Init(InitTrace( "True" ));
動作するだけでなく、その後、この JMP セッションが開いている間、UsePythonVersion("3.6") 引数を指定した元のバージョンも動作し始めます。その場合の init トレースからログに示される内容は次のとおりです。そこに示されているパスは、どちらの場合も同じで正しいように見えます...
HKEY_CURRENT_USER をクエリする
読み取り hKey=0XFFFFFFFF80000001 kname=SOFTWARE\Python\PythonCore bits=64
hKey=0xFFFFFFFF80000001 kname=SOFTWARE\Python\PythonCore bits=64 が見つかりました
サブキーの数=1
サブキー #=0 を取得しています
サブキー=3.6 長さ=3
開始サブキー=3.6
開始キー=3.6 サブキー=InstallPath
クエリ値 key=3.6 subkey=InstallPath
クエリ値 key=3.6 subkey=InstallPath value=C:\Users\12470\AppData\Local\Continuum\anaconda3
開始キー=3.6 サブキー=PythonPath
クエリ値 key=3.6 subkey=PythonPath
Python DLL のバージョン = 3.6 へのビルド パス
Python DLL パス=C:\Users\12470\AppData\Local\Continuum\anaconda3\python36.dll
sys.path エントリ.jstr:C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3\\Lib
sys.pathentry.jstr:C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3\\DLLs
前に:
/**********/
print(_JMPsys.path)
/**********/
['C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3\\python36.zip', 'C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3 \\Lib'、'C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3\\DLLs'、'C:\\Program Files\\SAS\\JMP\\14'、' C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3', 'C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-パッケージ'、'C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\Babel-2.5.0-py3.6.egg'、'C: \\Users\\12470\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\win32', 'C:\\Users\\12470\\AppData\\Local\\Continuum\ \anaconda3\\lib\\site-packages\\win32\\lib', 'C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\Pythonwin ']
後:
/**********/
print(_JMPsys.path)
/**********/
['', 'C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3\\python36.zip', 'C:\\Users\\12470\\AppData\\Local\\Continuum \\anaconda3\\Lib'、'C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3\\DLLs'、'C:\\Users\\12470\\AppData\\Local\ \Continuum\\anaconda3'、'C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages'、'C:\\Users\\12470\\AppData \\Local\\Continuum\\anaconda3\\lib\\site-packages\\win32', 'C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-パッケージ\\win32\\lib', 'C:\\Users\\12470\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\Pythonwin']
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱しています働く!
私にとってうまくいったのは次のとおりです。
Python 3.6 用のアーカイブされたものを使用して Anaconda を再インストールしました (3.6 用の仮想環境の使用を避けるため)。これがインストール場所です。前と同じですが、anaconda3 フォルダーの下に仮想環境用の 2 つのレイヤーが追加されていないだけです)。
C:\Users\12470\AppData\Local\Continuum\anaconda3\python36.dll
環境変数 JMP_PYTHON_MODULE_PATH を python36.dll の上記のパスに設定します。
Python init() で UsePythonVersion("3.6") 引数を使用しなかったため、「インストールが見つかりません」エラーが発生しました。
再インストール後に試していることは、今のところクラッシュを引き起こすものはありません。確かに大したことはしていませんが、クラッシュ (?) を引き起こしているのは仮想環境に関する何かだったようです。これまでに行った限定的なテストは、14.3 と 15EA の両方で動作しました。
ありがとう!
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱しています@ポールネルソン& @ジェフ・パーキンソン、
JMP を 14.3 に更新しましたが、依然としてクラッシュが続いていることが確認できます。 さらに必要な情報がある場合はお知らせください。
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱していますまず最初に行うべきことは、JMP 14 の新しいバージョンに更新することです。 オリジナルの 14.0.0 は、適切な Python インストールを自動的に検出できれば問題なく動作しました。 ただし、Python を正しく見つけることができなかった場合、他の方法はどれもうまく機能しませんでした。 連続アップデート 14.1、14.2 などの取り組みにより、環境変数のチェック、Python Init() 変数の使用など、他の代替手段の動作が改善されました。 特定の環境ではまだ動作しない可能性がありますが、これが最初の場所です。
引き続き JMP のテクニカル サポートをご利用ください。 テクニカル サポートを利用することで、すべての JMP 顧客は、この問題に対する当社の取り組みから恩恵を受けることができます。 現時点では、コードのさらなる掘り下げ、コードの追加のインストルメント、およびコードの追加の防弾化が必要であり、テストまたは診断プログラムの作成が必要になる場合もあります。
お待ち頂きまして、ありがとうございます。
ポール
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱しています価値があるのは、私のものは間違いなく両方とも64ビットであり、クラッシュも発生します。私の場合、Python Init() でクラッシュしないのは、Use Python Version() 引数を使用して「見つからない」メッセージが表示されたときだけです。Re: JMP 14 Python の能力 - 機能していますか? 私は混乱しています@ハードナーそして@ポールネルソン、
ポールさん、私も同意できます@ハードナーさんの観察です。 明日か来週かもしれませんが、都合がよければ、弊社と Webex を行うようお願いしてもよろしいでしょうか。弊社のインストールを見て、なぜ機能しないのか教えてください。 その後、会議から得た知見に基づいて、コミュニティに更新されたブログ記事を公開できるのではないでしょうか? これはあなたにできることですか?
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱しています価値があるのは、私のものは間違いなく両方とも64ビットであり、クラッシュも発生します。私の場合、Python Init() でクラッシュしないのは、Use Python Version() 引数を使用して「見つからない」メッセージが表示されたときだけです。
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱していますまた、JMP 14 の最新バージョンに更新します。 Python の検索と適切なロードを改善するために、JMP 14.x の各バージョンで追加の作業が行われました。Re: JMP 14 Python の能力 - 機能していますか? 私は混乱しています私は不一致があれば、あなたの問題が突然解決されることを期待していました。
Python をロードしようとしたときに例外をキャッチするコードを追加しました。 また、Python 初期化の実行パスのトレースを取得できるように、Init Trace(“TRUE”) がファイルとログに書き込むコードの追加についても見ていきます。 うまくいけば、両方とも次の JMP 15 EA に含まれるはずです。 (次の予定がいつになるかはわかりません)。
ポール
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱しています@ポールネルソン、
確かに。 JMP と Python が両方とも 64 ビットであることを確認して検証しました。


Re: JMP 14 Python の能力 - 機能していますか? 私は混乱していますPython と JMP のビット数が同じであることを確認しましたか。 32 ビットまたは 64 ビット。 ダンプ ファイルがないことは、JMP が Python を共有ライブラリとしてロードしようとしたときにおそらくダウンしていることを示しています。 32 ビット JMP / 64 ビット Python、または 64 ビット JMP / 32 ビット Python が一致しない場合、クラッシュが確実に発生します。
これは JMP がロードを試行する前に検証する必要があるものであり、私たちが捕らえようと試みるべきものですが、依然として回復不可能な状態である可能性があります。 しかし、JMP が何らかの通知を提供できると良いでしょう。
ポール
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱しています@ポールネルソン、
私はこの問題についてテクニカルサポートと継続的なケースを抱えています - SAS 7612709398。
あなたが提案したようにトレースを含めようとしましたが、Jmpがクラッシュします。 ただし、テクニカル サポートに提供できる .dmp ファイルまたは .jer ファイルが生成されません。
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱していますPython 仮想環境のサポートは私たちが検討しているものです。
裏側は次のような質問です。
ユーザーがインストールしたさまざまなバージョンの Python をサポートすることは、実行し続けるのが難しすぎますか?
その場合、解決策は、JMP が提供し、JMP で問題なく動作することがテスト済みで確認されている、JMP が提供し、インストールされているバージョンの Python である可能性があります。 生じる問題には、JMP で提供される Python 環境へのローカル パッケージと拡張機能のインストールのサポートが含まれます。
現時点では、ユーザーがインストールした Python をサポートしたいと考えていますが、経験されているように、世の中にはさまざまなものがあるため、それが困難になる場合があります。
ありがとう、
ポール
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱していますありがとうございました。
あなたが私の問題について言及していることは、「現時点では JMP が仮想環境を認識していない」ということだと思います。
Python 3.7 を含む最新の Anaconda をインストールした後、3.6 を必要とする tensorflow を使用したいことがわかり、ここで説明されているオプションの最初のオプションを実行しました...Python3.6 環境をセットアップしました。
https://docs.anaconda.com/anaconda/user-guide/faq/#anaconda-faq-35
私は Python を使い始めたばかりで、3.7 について特別な必要がないことを考えると (私が知っている限りでは)、すべてをアンインストールして、アーカイブされた 3.6 の Anaconda インストール パッケージなどの別のオプションでやり直すのではないかと思います。 。 それがどうなるか見てみましょう。
しかし、この種の「異なるものには異なるバージョンが必要」ということは、R の場合と同様に一般的のようです。それを読んで、より複雑に見えるオプションに飛び込むきっかけとなり、上記のリンクだけが解決策ではありませんでした仮想環境を使用するというアドバイスを見ました。特定の仮想環境で動作するように指示できるようにする計画について、さらに何か言えるかどうか疑問に思っています。
InitTrace("TRUE") のせいで JMP がクラッシュします。しかし、おそらく、仮想環境に関係するパスがなかったら、状況は違っていたでしょう。 この問題に取り組み、さらなるサポートが必要な場合はテクニカル サポート ケースをオープンします。ありがとう!
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱していますあなたにとっても同様に、私たちにとってももどかしいことだと思います。 私たちのマシン上でこの問題を再現するのに苦労していますが、一部のお客様が問題を抱えていることもわかっています。 当社のマシンのほとんどは類似しており、同じ企業イメージを持っています... 重要なことの 1 つは、JMP と Python のビット数が一致している必要があるということです。 JMP は Python を共有ライブラリとしてロードするため、ビット数の異なる JMP と Python を混在させることはできません。 32 ビット JMP を使用している場合は、32 ビット Python 3.6.1 以降を指定する必要があります。 64 ビット JMP を使用している場合は、64 ビット Python 3.6.1 以降である必要があります。 システムに Python が 1 つだけインストールされている場合に、成功する可能性が最も高いことがわかりました。 JMP 14.1 では、システム上に複数の JMP が存在する場合、Python をロードしようとしませんでした。 JMP は現時点では仮想環境を認識していません。
問題がある場合は、次のオプションを試してください。 Python の初期化()
Python 初期化(トレースの初期化("TRUE") );
このオプションは、文書化されていない可能性が高く (申し訳ありませんが)、JMP は、Python が存在すると思われる場所に関する多くの詳細をダンプします。これには、JMP が認識するパスや、検出した Python のレジストリ エントリも含まれます。 テクニカル サポートに問い合わせる際は、その出力を含めてください。
環境内で次の Python スクリプトを実行するビット数を決定できます。
構造体のインポート
print( struct.calcsize("P") *8)
これにより、実行中の Python のビット数に基づいて 32 または 64 が出力されるはずです。
注: JMP 14 は、バージョンに応じて 32 ビットまたは 64 ビットのいずれかになります。 シュリンクラップは常に 32 ビットです
JMP 15 は 64 ビットのみです。
Python Init() と環境変数を最大限に文書化しようとします。
JMP 15 は、探している 2 つの新しい環境変数を追加します。
JMP_LIB_PYTHON_PATH - これは共有ライブラリへのフルパスです。
JMP_PYTHON_MODULE_PATH - Windows または MacOS 環境変数に期待される Python の sys.path。 Windows ではセミコロン区切りのリスト、MacOS では JSL リストではなくコロン区切りのリストです。
私のマシンでは、Anaconda 3.7.1 64 ビットが C:\ProgramData\Anaconda3 にインストールされています。
それは次のようになります
JMP_LIB_PYTHON_PATH=C:\ProgramData\Anaconda3\python37.dll
DLL へのパスは十分である必要があります...そして Python Init() がパラメーターなしで使用できるのに十分である必要があります。 JMP_LIB_PYTHON_PATH と JMP_PYTHON_MODULE_PATH を指定すると、複数の Python インタプリタを使用する場合でも Python が完全に指定され、Python Init() が正常に動作するはずです。
「Python sys path」で説明したように、環境変数Windows または MacOS のシェル環境変数の通常の規則に従っていないため、非推奨になりました。 変数名にスペースが含まれており、UNIX で期待されるコロン区切りのパスや Windows で期待されるセミコロン区切りのパスではなく、パス コンポーネント { , } の JSL リストが期待されます。
私たちは、Python 環境変数 PYTHONPATH および PYTHONHOME にさらに注意を払うよう努めました。 Python ドキュメントによると、これらの変数の説明は次のとおりです。
パイソンホーム
標準 Python ライブラリの場所を変更します。 デフォルトでは、ライブラリは次の場所で検索されます。
prefix/lib/pythonversion および exec_prefix/lib/pythonversion、ここで prefix と exec_prefix は
インストールに依存するディレクトリ。どちらもデフォルトは /usr/local です。
PYTHONHOME が単一のディレクトリに設定されている場合、その値は prefix と exec_prefix の両方を置き換えます。
これらに異なる値を指定するには、PYTHONHOME を prefix:exec_prefix に設定します。
パイソンパス
モジュール ファイルのデフォルトの検索パスを拡張します。 形式はシェルと同じです
PATH: os.pathsep で区切られた 1 つ以上のディレクトリ パス名 (例: Unix ではコロン、
Windows ではセミコロン)。 存在しないディレクトリは黙って無視されます。
通常のディレクトリに加えて、個々の PYTHONPATH エントリが zip ファイルを参照する場合があります。
純粋な Python モジュール (ソース形式またはコンパイルされた形式) が含まれています。 拡張モジュール
zip ファイルからはインポートできません。
デフォルトの検索パスはインストールに依存しますが、通常は prefix/lib/pythonversion で始まります。
(上記の PythonHOME を参照)。 これは常に PYTHONPATH に追加されます。
上で説明したように、追加のディレクトリが検索パスの PYTHONPATH の前に挿入されます。
インターフェースオプションの下にあります。 検索パスは、Python プログラム内から変数 sys.path として操作できます。
JMP 15 が環境変数を検索する優先順位は次のとおりです。
環境変数と JSL スクリプトの優先順位は高いものから低いものまで
- JSL スクリプト内で指定されます。 Python 初期化(パス("") 、 Python バージョンを使用("") 、 Python sys パス( { "",... } )、... )
- システム/シェル環境変数で指定
- 自動位置特定
- PATH var で見つかるレジストリ、または Python または conda を実行するためのシステム シェル ... ローカルにインストールされた Python を推奨します
両方が存在する場合、システム全体に Python をインストールします
JMP14
まず、環境変数「Python sys path」を調べます。これは、DLL へのパス、または JSL リスト {"","",... } として表現される完全な sys.path のいずれかになります。
PYTHONINSTALLPATH = Python インストールを含む最上位ディレクトリ、または Python 共有ライブラリを含むディレクトリへのパス。
のPython の初期化()声明
パラメーター:
Path() - DLL への完全パス、または DLL を含む Python の最上位ディレクトリ。
Python Version() を使用します。Python のメジャー バージョンとマイナー バージョンの引用符で囲まれた文字列です。 複数の Python が見つかった場合は、多くの場合、それだけで十分です。
Python sys path() - Python sys.path 値に対応する引用符で囲まれた文字列パスの JSL リスト。 これら 3 つを指定すると、Python のインストールが完全に指定され、環境またはレジストリ値がオーバーライドされます。
Init Trace("TRUE") - JMP の Python 初期化中の JMP ログへのデバッグ出力
デバッグ印刷ステートメント (「TRUE」); - Python ステートメントを JMP ログに直接出力します。
デバッグ印刷出力("TRUE"); - Python 出力を JMP ログに直接出力します。
JMP 14 Python Init() は、オプションで次のものも受け入れます。 1 つだけを使用します。またはその他、JMP インストールのビット数と一致します。 32 ビット JMP は 64 ビット Python を使用できません。また、64 ビット JMP は 32 ビット Python を使用できません。
32 ビット Python("TRUE") を使用する
64 ビット Python("TRUE") を使用する
JMP 15 は 64 ビットであり、次のことができるため、JMP 15 では上記のオプションのパラメータが削除されました。のみ64ビットPythonを使用します。 すべてのパラメータは、 Python の初期化()はオプションです。レジストリ内の自動検出、または環境変数が有効な Python を指している場合、それ以上の処理は必要ありません。すべきあなたの中で必要なPython の初期化()
遠慮なく JMP のテクニカル サポートにお問い合わせください。私たちは、JMP の Python 機能を便利にし、JMP が提供する機能を強化したいと考えています。 私たちはこれらの問題を解決して、正常に機能するようにしたいと考えています。
ポール
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱しています続く...
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱していますありがとう!します。 追加できるのは、DLL の path() を Python init() 内に配置しようとしたことですが、少なくともそれが見つからないと文句を言うだけでなく、クラッシュすることもあります。 全体として、おそらくテクニカルサポートの助けも必要ですが、他の人にとっても役立つような説明があればと思いました。Re: JMP 14 Python の能力 - 機能していますか? 私は混乱していますanaconda ディストリビューションを C:\ にインストールし、環境変数を設定したにもかかわらず、役職、動作させることができません。 それでも JMP がクラッシュします。 テクニカル サポートから回答が得られましたら、最新情報をお知らせします。お分かりの場合は、同様の回答をお願いいたします。
Re: JMP 14 Python の能力 - 機能していますか? 私は混乱しています@ハードナー、
私もあなたと同じ立場です。 私は約 2 週間にわたって Python 用に JMP を構成しようとしてきました。 JMP から SAS および R との統合には成功しましたが、Python の統合は非常に不明確で、控えめに言っても長続きします。 JMP 15 の早期採用者には、この統合を修正するための改善点が何もないことを知って残念に思います。 私もこれをしっかりとフォローしていました役職そして、それが JMP 15 で修正され、よりスムーズな統合になることを期待していました。
現在、JMP 14 と Python 3.7.1 を使用しています。 Python/Anaconda ディストリビューションを C:/ ルートの直下にインストールするようにアドバイスされたので、試してみようと思っています。 うまくいった場合は、何がうまくいったかについてお知らせし、ここで更新します。