json 在远程Jupyter Notebook中运行Julia脚本,并带有参数

6yoyoihd  于 2022-11-19  发布在  其他
关注(0)|答案(1)|浏览(198)

我正在远程主机上的Jupyter Notebook中运行Julia脚本,方法是在jupyter环境中使用以下命令

jupyter nbconvert --to notebook --execute my_notebook.ipynb

这很好用。但是,如果我试图将参数传递给Jupyter笔记本,并打算最终传递给Julia脚本,我就失败了。我的问题是如何做到这一点?

  • 为了向Jupyter Notebook传递参数,我修改了上面的命令,使其
jupyter nbconvert --to notebook --execute my_notebook.ipynb arg1 arg2 arg3
  • 此外,在Julia脚本中,我尝试通过以下方法恢复参数(应该是足够小的整数)
x1 = parse(Int16, ARGS[1])
x2 = parse(Int16, ARGS[2])
x3 = parse(Int16, ARGS[3])

这是行不通的。

  • 我试图理解ARGS中的内容,但无法破译它的含义。
println(ARGS)

包括在Julia脚本中的是

"/tmp/tmp8vuj5f79.json"

回到第二点,由于ARGS[1]显然不能转换为整数,因此会出现一些错误。

  • 将参数传递给Jupyter Notebook执行时发生的另一个错误是
[NbConvertApp] WARNING | pattern 'arg1' matched no files
[NbConvertApp] WARNING | pattern 'arg2' matched no files
[NbConvertApp] WARNING | pattern 'arg3' matched no files

我可能是从一个完全错误的Angular 来处理这个问题的,所以任何帮助都将非常感激!

bt1cpqcv

bt1cpqcv1#

lookslike不可能将命令行参数传递给--execute d笔记本电脑。
WARNING | pattern 'arg1' matched no files消息表示nbconvert将这些参数视为要转换的附加文件,而不是笔记本的参数。
通常的建议是使用环境变量。

X=12 Y=5 Z=42 jupyter nbconvert --to notebook --execute my_notebook.ipynb

然后您可以从笔记本电脑中以ENV["X"]ENV["Y"]ENV["Z"]的形式进行访问。

相关问题