问题标签 [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 回答
52 浏览

python - 如何以 orgtbl 格式输出 julia DataFrame?(试图在 Julia 命令中包装 `tabulate` Python 包)

在以下链接中,我们看到我们可以使用tablePython 中的包以 orgtbl 格式返回。

https://emacs.stackexchange.com/questions/28715/get-pandas-data-frame-as-a-table-in-org-babel

但是,我们如何在 Julia 中做到这一点?我知道可以利用 PyCall 导入和使用 Python 库。但是,我似乎无法完成这一任务。

到目前为止我所拥有的:

尝试输出调用 tabulate.tabulate (不起作用),

也不起作用, tabulate.tabulate(py"df_raw, headers=df_raw.columns, tablefmt='orgtbl'")或者tabulate.tabulate(df_raw)

出现以下错误:

注意:df_raw 是一个随机数据帧,

0 投票
1 回答
145 浏览

python - 在 PyInstaller 的帮助下将 Julia 转换为 EXE

一段时间以来,我一直在尝试将 Julia 包编译成 EXE,但收效甚微。最近,我决定研究一下用 Python 包装它,然后将其转换为 EXE。除了启动时 EXE 崩溃显示附加的错误消息外,这效果很好。你们中的任何人都可以帮助我理解错误是什么,或者即使这是正确的路径?该错误也存在于该--onedir属性中。 CMD 错误信息

0 投票
1 回答
71 浏览

python - 无法使用 PyCall 从 Python 调用 julia 代码,其代码使用 Pycall 回调 python

我有一个进行 julia 调用的后端算法,我通过 PyCall 包执行此操作。但是,最近更新了 julia 中的一个包,它本身使用了 PyCall。无论我尝试做什么,我总是会出错。如果我通过 Pkg.build("PyCall") 在 julia 中设置 pycall,我可以调用包,但是 python 不能调用 julia。如果我通过 julia.install() 在 python3 中设置 pycall,则该包无法在 julia 中正常运行。

在这里重现这个是一个简单的例子:

测试.jl

测试.py

如果我跑python3 test.py

我遇到一个错误,因为该特定 python 未配置 py 共享 pycall。

我想要的是python中的pycall与python不同。似乎如果您将 pycall 配置为一个,它将强制另一个。

我尝试使用 juliacall,但是如果我将 pycall 与它一起使用,它似乎也会中断。

如果我尝试拥有ENV["PYTHON"]="python3",我将无法运行 SAFD 包。

任何帮助将不胜感激,因为我已经在这方面待了几天并尝试了多种解决方案,但一切似乎都给了我一个不同的错误。

一些信息:在 aws amazon2 linux 操作系统和 aws r5.large 实例上执行此操作。

我正在使用 python 3.10.0

versioninfo() Julia 版本 1.6.3 提交 ae8452a9e0 (2021-09-23 17:34 UTC) 平台信息:操作系统:Linux (x86_64-pc-linux-gnu) CPU:Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz WORD_SIZE:64 LIBM:libopenlibm LLVM:libLLVM-11.0.1(ORCJIT,skylake-avx512)

编辑:

我最终解决了这个问题,我尝试使用的包更新了它的依赖项,当它构建时,它会自动使用它需要的所有包更新 conda python。但是,如果它不是由 conda 构建的,它将假定存在依赖项。令我感到非常惊讶的是,错误消息从未表明任何有关特定包的信息。我只是偶然发现了一点。

有一点很清楚,你不能有两个不同的python,pycall只配置一个python用于python和julia之间的来回。

0 投票
1 回答
89 浏览

python - 从 Julia 终端运行带有参数的 python 代码

我想调用一个 python 脚本,它有一个函数,这个函数需要一个参数。您能否建议如何使用来自 Julia 环境的参数从 Julia 终端调用此 python 脚本。
我试过 pyimport, py"""run code""", exec,但不幸的是我还没有找到解决方案。
示例:
假设我有一个文件 my_test.py,我想从 Julia 运行它。my_test.py 仅包含一个函数和执行如下所示:

在 Julia 中,我有一个变量my_number_to_print。现在我想使用Julia 环境中定义的参数my_number_to_print从 Julia 终端运行 .py 脚本。我该怎么做?
谢谢你!

PS 如果我们不需要将任何参数从 Julia “转移”到 .py 脚本,那么下面的效果很好: py"""exec(open("my_simple_test.py").read())"""

0 投票
0 回答
43 浏览

python - 通过 Python 将 Julia 连接到权重和偏差

我正在尝试为我用 Julia 编写的模型使用权重和偏差。我正在使用WeightsAndBiasLogger.jl并尝试测试他们的演示代码:

我收到一个错误:“ArgumentError: ref of NULL PyObject”(考虑到这一行:logger = WBLogger(project="sample-project"))

然后我尝试使用以下命令解决此问题:

它创建了logger对象,但现在错误是:

MethodError: no method matching config!(::PyObject, ::NamedTuple{(:n_epochs, :lr), Tuple{Int64, Float64}}) 最接近的候选者是:config!(!Matched::WBLogger, ::Any; kwargs ...)(考虑这一行: config!()...

那么,有谁知道如何解决这个问题?显然,我是 Julia 的新手,因此如果问一些非常愚蠢的问题,我深表歉意。此外,如果您知道将 Julia 集成到 W&B 或任何好的替代方案的更好解决方案,我会很高兴听到它。

PS:朱莉娅 1.7.2 版