0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Juliaで自作Pythonパッケージを呼び出す手法

Posted at

結論:パスを追加しましょう

PyCall で自作パッケージを import するとき、実行場所のパスをPythonのパスに自動で追加してくれないらしいです。なので、事前にJuliaのパッケージなり、実行するJuliaファイルなりのパスをPythonのパスに追加すれば問題は解決します。

ただ、実行箇所によってパスが変わるといけないので、@__DIR__ を使っておくのが一番良いかと思います。

下記がおそらく最小構成です。

MyJuliaMod.jl
module MyJuliaMod

using PyCall
const mypymodule = PyNULL() # https://github.com/JuliaPy/PyCall.jl?tab=readme-ov-file#using-pycall-from-julia-modules

function __init__()
    pushfirst!(pyimport("sys")."path", @__DIR__) # これが大事!!
    copy!(mypymodule, pyimport("your_python_module"))
end

export mypymodule # モジュール名なしで呼び出しを行うのに必要

end
your_python_module.py
def greed():
    print("hello.")

参考にした記事

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?