能否在Python中编写Julia代码并运行?

5

我希望能够在.py文件中编写julia代码,在运行.py文件时,julia代码也能正常通过,这可能吗?

我正在使用文本编辑器VScode、python3.10和julia1.7.2。

实际上,我知道这有点异想天开,但今天我看到python代码在julia中成功运行。所以我想知道是否可以反过来实现。

module MyModule
using PyCall
function __init__()
    py"""
    import numpy as np
    def one(x):
        return np.sin(x) ** 2 + np.cos(x) ** 2
    """
end
two(x) = py"one"(x) + py"one"(x)
end
MyModule.two(2)

你真正想做什么或为什么要做还不清楚,请详细解释一下。显然,Python解释器无法理解Julia,因为它们是不同的编程语言。你实际上想要实现什么? - ndc85430
https://docs.julialang.org/en/v1/manual/embedding/ 这个页面在第一段提到:“Julia C API也可以用于构建更多的语言桥梁(例如从Python或C#调用Julia)。” - 9769953
所以你的问题的答案是“是”。 - 9769953
我正在使用文本编辑器VScode:这完全没有任何重要性。您的操作系统可能更重要(但不太可能)。 - 9769953
我认为这可能被视为重复的内容:https://dev59.com/6lIG5IYBdhLWcg3wjhYh#64241265 - Przemyslaw Szufel
2个回答

6

看一下PyJulia

from julia import Main
Main.eval("sin.(xs)")

作为一个补充,这是关于此的一篇不错的文章:https://blog.esciencecenter.nl/how-to-call-julia-code-from-python-8589a56a98f2 - Bogumił Kamiński
此外,本课程的在Python中使用Julia章节中包含了您所需的所有细节。 - Antonello

2

JuliaCall 是另一个可能的解决方案。

from juliacall import Main as jl
jl.println("Hello from Julia!")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接