問題タブ [jpype]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - JPype が django および raven と競合する
私はjpype 0.6.1を使用しています。scala で記述されたコードを実行するための Python スクリプトを作成しました。すべてが期待どおりに機能しています。しかし、python スクリプトを django プロジェクトに統合すると、raven モジュールに関連するエラーが発生しました。
メッセージを出力する Scala コード:
上記のコードにアクセスする Python スクリプト
上記のコードは正常に動作しています。しかし、djangoプロジェクトに統合した後、次のエラーが発生しました
TypeError: パッケージ com.test.auth.Auth.printMessage.__sentry__ は呼び出し可能ではありません 2016-08-16 07:56:08,850 [エラー] logger=sentry.errors.serializer プロセス=14605 スレッド=140040558467072 パッケージ com.test.auth. Auth.printMessage.__sentry__ は Callable ではありません
私はジャンゴが初めてです。レイヴンのロギングメカニズムについて読みました。しかし、問題を見つけることができません。
java - pythonで名前が予約名であるjavaメソッド/変数にアクセスするjpype
これを行う方法はありますか?つまり、以下のように Java で定義された変数がある場合
public Class Foo {
String pass = "foo";
}
pass は予約済みのキーワードなので、jpype 経由でこれにアクセスするにはどうすればよいですか? 試してみ
getattr(Jpype.JClass(Foo)(), "pass")
ましたが、pass という名前の属性が見つかりません
java - Java から Python 関数を呼び出すための異なる/より良いアプローチ
私はPythonを初めて使用し、JavaからPythonの関数を呼び出そうとしています。
私の主な要件は次のとおりです。
.py
java から呼び出せるようにするためだけにファイルを変更する必要がないという意味で、呼び出しは透過的である必要があります。その中にいくつかの関数を含む任意の python ファイルが与えられる場合があります。.py
ファイルを変更することなく、これらの関数を呼び出すことができるはずです。int
プリミティブ型 ( 、など) または非プリミティブ型 ( 、) の両方の引数を Java から Python 関数に送信し、Python から返されたオブジェクト (プリミティブ型または非プリミティブ型の可能性がある) を受信できるようにしString
たいジャバに。pandas DataFrame と numpy ndarray も使用しているため、対応するオブジェクトを Java との間で送受信できるようにしたいと考えています。floats
HashMap
ArrayList
- Jython では利用できない可能性のある新しいライブラリを使用する必要がある可能性があるため、できればJython ではなく CPython に固執したいと考えています。
オンラインで見つけたいくつかのオプションがあります。いくつかは次のとおりです。
.py
スクリプト ファイルを変更せずに Python 関数を呼び出すことができるJython のPythonInterpreterを使用します。py1.py
JythonTest.groovy
私は自分のニーズを十分に満たすことができます。しかし、CPython ではありません。
Use ScriptEngine : これは PythonInterpreter と非常によく似ています。しかし、再びそのJythonです。また、PythonInterpreter とは異なり、Jython 2.5+ では動作せず、PyObjects に直接アクセスできません。したがって、このオプションは非常にうまく閉じることができます。
- py4jを使用します: Jython PythonInterpreter の場合と同じくらい最小限の例を見つけることができません
- java2pythonを使用します。しかし、上記の要件を満たすことができるかどうかを判断できるように、java から python を呼び出すことについてはあまり情報が提供されていません。誰かがこれについてもっと光を当てることができますか? より具体的には、Jython PythonInterpreter のコードと同じくらい最小限のコードを書くことができれば.
- JPypeを使用します。また、私はプロジェクトが開発中ではないことを感じました。それは...ですか?
上記のすべてのアプローチを正しく理解していれば、Jython PythonInterpreter が最良の選択のようです。それらをつかみながら、私は間違いを犯しましたか?また、他に良い選択肢はありますか?
java - JVM の起動が機能しない
私は自分のコンプに持っています:python 2.7- 32bit、eclipse 64-bit、Java 8 64-bit。
Python 2.7 用に jpype -32bit をインストールしました。Jpypeは正常にインポートされていますが、私が呼び出すときの問題に直面しています:
また、私はJVMを実行できません:
これは機能していません:
何が問題で、どのように修正するのか誰か教えてください。それは32 - 64ビットの競合ですか?
python - JVM を起動できません
最後のステップは実行されません。
他のすべてのステップが実行されます。
java - JPype クラスが見つかりません。$1 には内部クラスがありません
私はこれらのJavaファイルを持っています:
これらのクラス ファイルを生成します。
私の Python コードでは、LDF1File$1 をインポートできますが、LDF1File はインポートできません。私は得る:
完全なコードは次のとおりです。
したがって、名前にドル記号が含まれるクラス ファイルがある理由がわかりません。また、JPype が LDF1File を見つけられない理由もわかりません。いくつかの可能な提案を除外するために、依存性注入、aspectj のもの、スプリング、グアバはありません。これは単なるJavaです。