私は私のPythonフレームワーク内から使いたいJavaクラスファイルを持っています。私はjythonについて知っていますが、私はjythonで私のPythonコード全体を実行したくないのですが、代わりに何らかの形でプリコンパイルしてPythonの使用可能なクラスにインポートする方が好きですか?Python内からコンパイルされたJavaクラスを使用するには?
0
A
答えて
1
コメントに既に書いてあるとおり、実行するには完全なJVMが必要です。あなたの問題のためにグーグルで、言っ
は、Pythonのプロセス内からJVMを起動し、あなたがそれと対話することを可能にするプロジェクトがあるようです:プロジェクトのページにはほとんどの情報にもかかわらずhttp://pythonhosted.org/javabridge/
、それはやりました新しいPython 3.6環境で私の2回目の試しにインストールしてください(私はちょうど、Fedoraシステムの簡単なインストールの外でget thisにする必要がありました)。
NumPyとSciPyを主体とするシステムで必要となる単一のクラスであれば、JavaコードをPythonに書き直すことをお勧めします。
このJavabridgeプロジェクトが失敗した場合、代わりにJavaクラスをいくつかのRPCサーバーに公開したり、XMLRPCを使用したり、あまり機能しないWebサービスとしてJavaクラスを公開したり、ネットワークプロトコルを使用してPythonから呼び出します。 ここに来ると、Javaコードとの間でメッセージをやりとりするためにブローカーとしてredisやrabbitmqを使用するなど、できることはたくさんあります。これらのアプローチの共通点は、 JVMで独自のプロセスで実行されるJavaコード、およびリモート呼び出しを行うことができるサーバーループで実行されます。
関連する問題
- 1. Python内からJavaをコンパイルする
- 2. C内からJavaコンパイルされたクラスをロードして呼び出す方法は?
- 3. Javaでアンドロイド用にコンパイルされたネイティブlibを使用
- 4. Java(セキュリティ)ポリシーはビルド/コンパイル時に使用されますか?
- 5. パッケージディレクトリ内からコンパイルすると、Javaクラスがコンパイルに失敗するのはなぜですか?
- 6. 1.4用にコンパイルされたJavaコードを1.4 JREでコンパイルするには?
- 7. 実行時にJavaからGroovyクラスをコンパイルして使用しますか?
- 8. Androidプロジェクトのクラスからコンパイルされたライブラリコンポーネントを作成する
- 9. PythonでJavaクラスを使用
- 10. インポートされたクラス内からインポートされたクラスを参照する
- 11. (java 5でコンパイルされた)クラスが(Java 6でコンパイルされた)他のクラスと会話するときのコンパイルの問題
- 12. Javaファイル内のコードを使用してJavaファイルをコンパイルする
- 13. 新しい.proto-filesですでにコンパイルされたProtobufクラスを使用する
- 14. コンパイルされたクラス内のすべてのクラス参照を変更する
- 15. コンパイルされたJavaクラス内でのメソッド呼び出しの書き換え
- 16. C++ Javaから移植されたネストされたクラスにアクセスする方法
- 17. JAVA - クラスの外で実行されたアクション内から変数を使用しようとしています
- 18. JavaクラスがNetBeans IDE内から実行されたかどうかを確認するには?
- 19. JAXB:Springから自動生成されたクラスを使用するには?
- 20. Javaの「コンテキスト」クラスは何のために使用されていますか?
- 21. Java - クラス内のいくつかのメソッドで変更/変更された変数を使用する方法は?
- 22. Pythonはコンパイルされたモジュールの内容を見つけますか?
- 23. リスト内から参照されるPythonクラスの変数
- 24. Java:別のクラスから選択したメソッドのみをコンパイル
- 25. AspectJ - プリコンパイルされたアスペクトを使ってJavaソースをコンパイルする
- 26. 署名されたアプレットからJavaクラスをロードする
- 27. JavaソースからコンパイルされたJavaクラスファイルをロードしないでください。
- 28. JavaからC#へのイテレータメソッドを使用したインタフェースの類義語は、クラスに実装されますか?
- 29. Javaプログラム内から.javaファイルをコンパイルしますか?
- 30. これらの生成されたクラスを使用するにはTypeScriptを使用しますか?
JVM全体のサポート構造がないJavaクラスは使用できません。それをPythonに変換することは、非常に単純な場合を超えて可能になることはありません。 – user2357112
答えをありがとう!原則として私はjythonに満足していますが、何とかnumpy、scipyなどのようなPythonモジュールをロードできません。私はすでにPYTHONPATHを追加してJYTHONPATHを調整しましたが、それは何の考えですか? – Guiste
JythonはNumPyとSciPyをネイティブで使用できないため、読み込めません。 [JyNI](https://jyni.org/)が必要です。 – kindall