問題タブ [pycall]

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.

0 投票する
1 に答える
640 参照

python - Julia で PyCall.jl を使用するときに Python オブジェクトの属性を変更する

Juliaで変更したい属性を持つPythonオブジェクト(JuliaのPyObject)をライブラリが返すPyCall.jlを介してPythonライブラリとインターフェースしようとしています。たとえば、次のダミーの python クラスがあるとします。

Julia では、PyCall.jl を使用してこの python クラスをロードし、次のようにインスタンス化します。

コードの最後の行はエラーなしで実行されますが、調査の結果pyobject.array[1,1]、値は変更されていません (つまり、0.0 のままです)。

JuliaでPycall.jl PyObject属性値を変更するにはどうすればよいですか?たとえば、ポインタを使用してこれを行うことができますか? これが明らかな場合は申し訳ありませんが、運が悪く、PyCall.jl ドキュメントを使用してその方法を理解できません。前もって感謝します。

PS 実際の python ライブラリは、簡単に変更できるものではありません。

0 投票する
0 に答える
164 参照

python - Pythonでジュリア関数を呼び出すときにライブラリlibopenlibmを見つける際のエラー

anacondaディストリビューションのpython 3.7を使用しています。

pyjulia を使用して julia からいくつかの関数を呼び出す際に問題があります。

以下は私のコードの抜粋です:

パッケージ SpecialFunctons は、複雑な引数を処理できる一般化されたポリガンマ関数を導入します (実引数のみを受け入れる Scipy のポリガンマとは対照的です)。

問題は、ポリガンマ関数を実行すると、次のエラーが発生することです。

これは、python が julia から libopenlibm ライブラリを見つけられないことを意味します。これは、関数 SpecialFunctions.polygamma を実行するためにおそらく必要です。Pythonにこのモジュールを表示させる方法がわかりません。dll libopenlibm.dll.a は、明らかに julia がインストールされているフォルダーにあります。私は、pyjulia を再インストールし、PATH を変更し、julia の他のモジュールを呼び出してみました (これがおそらくテーブルを実現するかどうかを確認するため)。しかし、私は成功しませんでした。

このライブラリを必要としない他の関数 (SpecialFunctions.gamma(x) など) には、この問題はありません。

したがって、問題はおそらく次のとおりです。python がこの特定の julia ライブラリをメモリにロードするようにするにはどうすればよいでしょうか?

任意の助けをいただければ幸いです。