我正在远程主机上的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 来处理这个问题的,所以任何帮助都将非常感激!
1条答案
按热度按时间bt1cpqcv1#
它lookslike不可能将命令行参数传递给
--execute
d笔记本电脑。WARNING | pattern 'arg1' matched no files
消息表示nbconvert将这些参数视为要转换的附加文件,而不是笔记本的参数。通常的建议是使用环境变量。
然后您可以从笔记本电脑中以
ENV["X"]
、ENV["Y"]
和ENV["Z"]
的形式进行访问。