如何解决我有一个用Julia编写的高性能函数,如何从Python使用它?
我找到了一个Julia函数,可以很好地完成我需要的工作。 如何快速集成它以便能够从Python调用它?
假设函数是
f(x,y) = 2x.+y
从Python使用它的最好,最优雅的方法是什么?
解决方法
假设已安装Python和Julia,则需要执行以下步骤。
-
运行Julia并安装
PyCall
using Pkg pkg"add PyCall"
-
将您的代码放入Julia包
using Pkg Pkg.generate("MyPackage")
在文件夹
src
中,您会找到MyPackage.jl
,对其进行编辑以使其看起来像这样:module MyPackage f(x,y) = 2x.+y export f end
-
安装pyjulia
python -m pip install julia
(在Linux系统上,您可能希望使用
python3
而不是python
命令)对于此步骤,请注意,虽然外部Python可与Julia一起使用。但是,为方便起见,可能值得 考虑使用与Julia一起安装的Python
PyCall
。 在这种情况下,请使用以下命令进行安装:%HOMEPATH%\.julia\conda\3\python -m pip install julia
或在Linux
上~/.julia/conda/3/python -m pip install julia
请注意,如果您定义了
JULIA_DEPOT_PATH
变量,则可以用其值替换%HOMEPATH%\.julia
或~/.julia/
。 -
运行适当的Python并告诉它配置Python-Julia集成:
import julia julia.install()
-
现在您可以调用您的Julia代码了:
>>> from julia import Pkg >>> Pkg.activate(".\\MyPackage") #use the correct path Activating environment at `MyPackage\Project.toml` >>> from julia import MyPackage >>> MyPackage.f([1,2],5) [7,9]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。