如何使用奇异图像运行Jupyter Notebook?

我建立了一个包含最新anaconda版本的奇点图像(jupyter.sif),我想用它来运行一个jupyter笔记本。

我想运行这样的事情:

#####

singularity exec --bind /path/outside/image/:/path/inside/image/ jupyter.sif jupyter notebook --notebook-dir=/path/to/dir --no-browser --ip=127.0.0.1

#####

本质上,只需启动一个普通的jupyter笔记本,它将使用python版本和安装在奇点映像中的软件包。理想情况下,笔记本计算机将在图像之外读写文件(因此,为什么要指定绑定路径)。

但是,当我运行上述命令时,出现以下错误:

#####

追溯(最近一次通话最近):文件“ /opt/conda/lib/python3.7/site-packages/traitlets/traitlets.py”,第528行,获取值= obj._trait_values [self.name] KeyError:' runtime_dir'

在处理上述异常期间,发生了另一个异常:

追溯(最近一次通话):

sys.exit(main())中的文件“ / opt / conda / bin / jupyter-notebook”,第11行

在launch_instance中的文件“ /opt/conda/lib/python3.7/site-packages/jupyter_core/application.py”第266行中返回super(JupyterApp,cls).launch_instance(argv = argv,** kwargs)

在launch_instance app.initialize(argv)中的文件“ /opt/conda/lib/python3.7/site-packages/traitlets/config/application.py”,行657

文件“”,第2行,初始化

在catch_config_error返回方法(应用程序,* args,** kwargs)的第87行中,文件“ /opt/conda/lib/python3.7/site-packages/traitlets/config/application.py”

初始化self.init_configurables()中的文件“ /opt/conda/lib/python3.7/site-packages/notebook/notebookapp.py”,行1626

在init_configurables connection_dir = self.runtime_dir中的文件“ /opt/conda/lib/python3.7/site-packages/notebook/notebookapp.py”中,第1319行,

获取返回self.get(obj,cls)的第556行中,文件“ /opt/conda/lib/python3.7/site-packages/traitlets/traitlets.py”

文件“ /opt/conda/lib/python3.7/site-packages/traitlets/traitlets.py”,第535行,获取值= self._validate(obj,dynamic_default())

_runtime_dir_default中的文件“ /opt/conda/lib/python3.7/site-packages/jupyter_core/application.py”,第99行保证_dir_exists(rd,mode = 0o700)

确保文件“ /opt/conda/lib/python3.7/site-packages/jupyter_core/utils/ init .py”,第13行,在sure_dir_exists os.makedirs(路径,模式=模式)中

在makedirs makedirs(head,exist_ok = exist_ok)中的第211行的文件“ /opt/conda/lib/python3.7/os.py”

在makedirs makedirs(head,exist_ok = exist_ok)中的第211行的文件“ /opt/conda/lib/python3.7/os.py”

文件``/opt/conda/lib/python3.7/os.py'',行221,在makedirs mkdir(name,mode)中

OSError:[Errno 30]只读文件系统:'/ run / user'

#####

我认为这是因为笔记本正在尝试在图像中写入内容,并且因为我不以sudo的身份运行图像(我不想这样做),而且在执行图像时我也未指定--writable(也不想这样做),它抱怨无法在图像中写入。

有没有一种“告诉”映像在我的主目录中而不是映像中读写文件的方法?

谢谢

莱克斯·内德布拉格特

我只是遇到了同样的问题,这似乎已经为我解决了:将容器中的/ run / user映射到外部的工作目录(或您选择的目录)。对于您的情况,可能意味着:

singularity exec --bind /path/outside/image/:/path/inside/image/ --bind $PWD:/run/user jupyter.sif jupyter notebook --notebook-dir=/path/to/dir --no-browser --ip=127.0.0.1

以这种方式运行时,在我的情况下1000,创建了一个文件夹

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章