問題タブ [jython]
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.
python - コードが cPython または Jython で実行されているかどうかを検出できますか?
後でサーブレット コンテナーにデプロイされる小さな django プロジェクトに取り組んでいます。しかし、Jython の代わりに cPython を使用すると、開発ははるかに高速になります。そこで、コードが cPython または Jython で実行されているかどうかを、settiings.py でテストして、適切な db ドライバー (postgresql_psycopg2 または doj.backends.zxjdbc.postgresql) を使用するように指示できるようにする必要があります。これを行う簡単な方法はありますか?
python - Jython 内で使用する場合の inspect.py の問題
Jython で開発されたアプリケーションを使用しています。その中でinspect.pyを使おうとすると、エラーメッセージが表示されます。
私のコードは次のようになります
python.exe を使用してこれを実行すると、問題はありません。ただし、アプリ内でこれを使用すると、次のエラーがスローされます
どんな助けでも大歓迎です。
ありがとうラジャサンカール
java - Jython: スクリプト内の Java クラスを Python オブジェクトではなく Java オブジェクトとしてインスタンス化する
Jython の使用時に問題が発生しましたが、ドキュメントで解決策が見つからないようです。
基本的に、私が持っているのは Java でインスタンス化されたオブジェクトであり、(python スクリプトで) 別の Java オブジェクトをインスタンス化し、jython インタープリターでインスタンス化したオブジェクトに事前に設定された Java オブジェクトを追加したいと考えています。
例えば:
Python スクリプト (「b_inst」としてバインドされた B のインスタンスがあります):
上記のコードを実行しようとすると、次の例外が発生します: TypeError: setB(): expected 2 args; 1を得た
これは、setB() メソッドが実際の Java オブジェクトではなく、Python オブジェクトでメソッドを呼び出そうとしているためだと確信しています。基本的に、AI のインスタンスでの setB() の呼び出しは、jython スクリプトで作成されたばかりで、python オブジェクトではなく Java オブジェクトになると予想しています。
これが明らかな場合は申し訳ありませんが、チュートリアルと「Java in a Nutshell」および「Core Python Programming」のJythonセクションを読みましたが、例は本当に簡単で、この2つを行う方法の例はありません-ウェイバインディング。
jython - Jython インタラクティブインタープリターセッションの JLine を非アクティブ化するには?
Jython 2.5 には、デフォルトで JLine が付属しています。
rlwrapで対話型インタープリターを使用することをお勧めします。JLine がアクティブな場合、rlwrap が機能していないようです。
Scala では、 を使用しますrlwrap scala -Xnojline
。
Jython が JLine を無効にする同様のオプションはありますか?
python - Jython には GIL がありますか?
そうではないと確信していましたが、インターウェブで明確な答えを探すと、疑問が残りました。たとえば、2008 年の投稿は、一見冗談のように見えましたが、よく見ると真面目に見えました。
編集: ... さらによく 見ると、冗談であることが判明しました。混乱させて申し訳ありません。Nikhilが正しく指摘したように、実際にはその投稿へのコメントが私の質問に答えています.
この分野では CPython がはるかに先を行っており、互換性が不足していることに気付きました。真剣にブレインストーミングを行った後 (そして数杯のワインを飲みながら)、Jython にグローバル インタープリター ロックを導入することで問題全体が解決すると判断しました。
さて、ここの状態は?sourceforgeの「相違点」ページでは、GIL についてはまったく言及されていません。私が見落としている公式の情報源はありますか?
また、GIL がまったく重要であるかどうかについて進行中の議論を認識していることにも注意してください。ただし、現時点では気にしません。
python - システム実行スクリプトから Raw_Input を取得する
OS.System コマンドを使用して Python スクリプトを呼び出しています。
例:
私が呼び出しているスクリプトには、次のコマンドがあります。
コマンド ラインから script.py を実行すると問題なくデータを入力できますが、自動化された方法で実行すると EOFError が発生します。これは、システムがコンピューターで実行されていることを想定しているため、この方法で入力データを受け取ることができなかったために発生することを過去に読んだことがあります。
問題は、自動化された方法で実行されている間、Python がユーザー入力を待機するようにするにはどうすればよいかということです。
python - 高速っぽい python/jython IPC?
私がやりたいことは、ソケットを介していくつかの RPC 呼び出しを行うことだけです。jython 2.5を実行するバックエンド処理を行うサーバーがあります。CPython で Django を実行しているフロントエンド サーバーからいくつかの呼び出しを行う必要があります。私は壁に頭をぶつけて、あらゆる形のIPCを進めてきました。
私が試したことのリスト:
- Apache Thriftには実際のリリースはなく、スナップショットのみです。安定したものを使いたい。
- JSON-RPCは興味深いものであり、ソケット上で実行できるはずですが、実際にはほとんどの実装は HTTP 上でしか機能しないようです。HTTP オーバーヘッドはまさに私が避けようとしているものです。
- Protocol Buffersは、実際にはシリアライゼーション プロトコルにすぎません。私が収集したものから、protobuf は RPC のインターフェイス生成を提供しますが、それは単なるインターフェイスです。実際にすべての接続コードを作成するのはユーザー次第です。ソケットの使用に行き詰まる場合は、シリアル化に JSON を使用します。よりシンプルで高速です。
- Pyroは Jython をサーバーとして使用すると正しく動作しません。ある種のソケット タイムアウトの問題。メーリングリストにメッセージを送信しました。
- pysageメッセージ パッシングに感謝します。Python 2.6 または処理モジュール (コンパイルされた拡張機能を含む) のみが必要です。Jython はバージョン 2.5 であり、コンパイルされた拡張機能は使用できません。
- Candygramは pysage の興味深い代替手段ですが、私が知る限り、メンテナンスされていません。私はJythonで試したことさえありません。経験はありますか?
- Twisted パースペクティブ ブローカーTwisted は Jython では動作しません。
XML-RPC でこれを行うのは簡単なことだとわかっているので、さらに気難しくなります。HTTP のオーバーヘッドを回避したいのですが、同時に、独自のプロトコルを実装するためにソケットを汚したくはありません。もしそうなら、私はそれを間違ってやるでしょう。
何か案は?おそらく 20 分ほど泣いてから、XML-RPC を使用するだけです。
java - Java 内から Python を使用する
重複の可能性:
Java Python 統合
100% Java で記述された既存の大規模なコードベースがありますが、その一部の新しいセクションには Python を使用したいと考えています。テキストと言語の処理を行う必要があり、これを行うには Python とNLTKのようなライブラリを使用したいと考えています。
Jython プロジェクトは知っていますが、これは Python 内から Java とそのライブラリを使用する方法を表しているように見えますが、その逆ではありません。これは間違っていますか?
そうでない場合、(理想的には) Python でメソッドを呼び出して結果を Java に返すことができるように、Java と Python の間でインターフェイスをとるための最良の方法は何でしょうか?
python - Python でのスライス操作のインターセプト
要素がスライスによって追加または削除されるたびに、リストを「保存」したいことを除いて、通常の python リストを模倣したい。これは可能ですか?これは私の試みでしたが、「保存」は決して出力されません。
append
これは、や などの他のメソッドでは機能しextend
ますが、スライス操作では機能しません。
EDIT:本当の問題は、私がPythonではなくJythonを使用していて、それを忘れていたことです。質問に対するコメントは正しいです。このコードは Python (2.6) で正常に動作します。ただし、コードも回答も Jython で機能します。