こんにちは、みんな、
私はApplicationBuilderを使用して、Python統合を備えたアプリケーションを開発しています。 これをアドインにコンパイルして他のユーザーと共有できるようにする予定ですが、すべてのユーザーのPython初期化を正しく設定する方法が必要です。
私がアプリケーションを実行している方法は、私(ユーザーEstelleS1と私の環境、 JMPPythonEnvironment) :
appNS:PythonPathText = "C:\Users\EstelleS1\AppData\Local\Programs\Python\Python37\JMPPythonEnvironment\Scripts\python37.dll";
appNS:PythonSysPathText = {"",
"C:\\Users\\EstelleS1\\AppData\\Local\\Programs\\Python\\Python37\\JMPPythonEnvironment\\Scripts\\python37.zip",
"C:\\Users\\EstelleS1\\AppData\\Local\\Programs\\Python\\Python37\\DLLs",
"C:\\Users\\EstelleS1\\AppData\\Local\\Programs\\Python\\Python37\\lib",
"C:\\Users\\EstelleS1\\AppData\\Local\\Programs\\Python\\Python37",
"C:\\Users\\EstelleS1\\AppData\\Local\\Programs\\Python\\Python37\\JMPPythonEnvironment",
"C:\\Users\\EstelleS1\\AppData\\Local\\Programs\\Python\\Python37\\JMPPythonEnvironment\\lib\\site-packages"};
Python Init(
Path( PythonPathText ),
Python Sys Path( PythonSysPathText )
);(appNSは私のアプリケーションの名前空間を指します)
他のユーザーは多くの管理者権限を持っているので、新しいユーザーがアプリランチャーのボタンをクリックしてPythonパスとsysパス文字列を含むテキストファイルをアップロードし、アプリケーションがそれらを取得するワークフローを設定することを考えていましたファイルを作成し、コピーを新しいフォルダーに保存します($ DESKTOPは、すべてのユーザーのコンピューターでアクセス可能な場所である必要があります)。
PythonPathButtonPress=Function({this},
// This function is called when the button is pressed
name = this << Get Button Name;
pickPythonPathFile = Pick File("Please select Python Path text file");
pickPythonSysPathFile = Pick File("Please select Python Sys Path text file");
PythonPathFile = Load Text File( pickPythonPathFile );
PythonSysPathFile = Load Text File( pickPythonSysPathFile );
PythonConfigFolder = ( "$DESKTOP/JMPPython Config/" );
NEWPythonPathFile = (PythonConfigFolder || "PythonPath.txt" );
NEWPythonSysPathFile = (PythonConfigFolder || "PythonSysPath.txt" );
PythonConfigDir = Create Directory( PythonConfigFolder );
Save Text File( NEWPythonPathFile, PythonPathFile );
Save Text File( NEWPythonSysPathFile, PythonSysPathFile );
);したがって、これが最初に行われた後、ユーザーはボタンをクリックしてPythonを再度構成する必要はありません。 そして、アドインのPython統合パーツを実行すると、アプリケーションは自動的に検索して、アクセス可能なフォルダーの場所にあるこれらのコピーされたファイルを開きます($ DESKTOPまたはその他のより良いもの)。
PythonPathFile = Convert File Path( "$DESKTOP\JMPPython Config\PythonPath.txt", search );
PythonSysPathFile = Convert File Path( "$DESKTOP\JMPPython Config\PythonSysPath.txt", search );
Try( appNS:PythonPathText = Load Text File( PythonPathFile ), New Window("Python Initialization Error", << Modal, Text Box("Need to configure Python first!") ); Throw() );
Try( appNS:PythonSysPathText = Load Text File( PythonSysPathFile ), New Window("Python Initialization Error", << Modal, Text Box("Need to configure Python first!") ); Throw() );
Python Init(
Path( PythonPathText ),
Python Sys Path( PythonSysPathText )
);しかし、これは機能していません。 「指定されたモジュールが見つかりませんでした。'PythonInit'、Python Init / * ### * /(Path(PythonPathText)、Python Sys Path(PythonSysPathText))のアクセスまたは評価で」というエラーが発生しました。 このエラーの原因や修正方法が正確にはわかりません。
誰かがこの問題に対する洞察またはより良い解決策を与えることができれば幸いです。