2016-08-22 11 views
1

Pythonでカスタム拡張コマンドを作成しました。私はそれをインストールしたのですが、私はエラーを取得しています予想通り(SPSSのログ出力からの引用 - SPSSでPythonプログラムをデバッグするために私が知っている唯一の方法):エラーが.xmlからかRun(args)関数から、おそらくあるSPSS Pythonカスタム拡張コマンドデバッグ

Extension command TEST_EXTENSION could not be loaded. The module or a module that it requires may be missing, or there may be syntax errors in it. 

を。私が実装しているCustomFunction()が徹底的にテストされました。

これをデバッグするための良いプラクティスとその他の潜在的なエラーはありますか?

を「true」 SPSS_EXTENSIONS_RAISE 環境変数を設定しますが、私はそれを行う方法がわからない、またこのののソースに関係なく動作しますに公式IBM-SPSS-Statistics-Extension-Command氏は述べていますエラー。

答えて

1

@horaceは、[コントロールパネル]> [システム]> [システムの詳細設定>環境変数を経由してWindows上の環境変数を設定します。正確な表現は、Windowsのバージョンによって異なります。私は通常、システム変数を選択しますが、いずれかが通常動作します。その後、統計を再開する必要があります。この変数を設定すると、Pythonコードのエラーによってトレースバックが生成されます。トレースバックは通常、ユーザーには役に立たないので抑止されますが、開発者にとっては非常に役立ちます。

トレースバックは、Pythonコードのエラーでのみ表示されます。あなたが報告した "読み込みできませんでした"というエラーは、Pythonが制御を取得する前に発生するため、トレースバックは生成されません。このエラーには2つの一般的な原因があります。最初に、拡張コマンドまたは対応するPythonモジュールを定義しているxmlファイルがStatisticsによって見つからないということです。拡張コマンド定義は、統計の起動時またはEXTENSIONコマンドの実行時にロードされます。 SHOW EXTを実行します。構文エディタから、Statisticsが拡張子ファイルを探す場所を表示します。

2番目の原因は、Pythonコードの構文エラーです。
プログラムを起動します。
あなたのモジュールをインポート
終了プログラム。
に報告し、エラーが報告されているかどうかを確認します。

もっと一般的には、デバッグには2つの便利な方法があります。最初のコードはPythonからコードを実行する外部モードでコードを実行することです。そうすれば、IDEまたはプレーンなPythonデバッガを使ってコードを実行することができます。詳細については、プログラマビリティのドキュメントを参照してください。外部モードでできることにはいくつかの制限がありますが、しばしば良い解決策です。

2つ目は、リモートデバッグをサポートするIDEを使用することです。私はWing IDEを使用しますが、これを行うことができる他のIDEがあります。これにより、Statistics内からデバッガにジャンプし、Pythonコードを実行し、デバッガで必要なものをすべて実行できます。

hh

関連する問題