问题标签 [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.
python - 如何以 orgtbl 格式输出 julia DataFrame?(试图在 Julia 命令中包装 `tabulate` Python 包)
在以下链接中,我们看到我们可以使用table
Python 中的包以 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 是一个随机数据帧,
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之间的来回。
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())"""
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 版