我已經(jīng)構建了一個包含最新 anaconda 版本的奇異圖像 (jupyter.sif),我想用它來運行 jupyter notebook。我想運行這樣的東西: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 notebook,它將使用 python 版本和安裝在奇異圖像中的包。理想情況下,筆記本將讀取和寫入圖像外的文件(因此我指定了綁定路徑)。但是,當我運行上述命令時,出現(xiàn)以下錯誤:> Traceback (most recent call last): File> "/opt/conda/lib/python3.7/site-packages/traitlets/traitlets.py", line> 528, in get> value = obj._trait_values[self.name] KeyError: 'runtime_dir'> > During handling of the above exception, another exception occurred:> > Traceback (most recent call last):> > File "/opt/conda/bin/jupyter-notebook", line 11, in <module>> sys.exit(main())> > File> "/opt/conda/lib/python3.7/site-packages/jupyter_core/application.py",> line 266, in launch_instance> return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)> > File> "/opt/conda/lib/python3.7/site-packages/traitlets/config/application.py",> line 657, in launch_instance> app.initialize(argv)> > File "<decorator-gen-7>", line 2, in initialize> > File> "/opt/conda/lib/python3.7/site-packages/traitlets/config/application.py",> line 87, in catch_config_error> return method(app, *args, **kwargs)> > File> "/opt/conda/lib/python3.7/site-packages/notebook/notebookapp.py", line> 1626, in initialize> self.init_configurables()> > File> "/opt/conda/lib/python3.7/site-packages/notebook/notebookapp.py", line> 1319, in init_configurables> connection_dir=self.runtime_dir,> > File> "/opt/conda/lib/python3.7/site-packages/traitlets/traitlets.py", line> 556, in __get__> return self.get(obj, cls)我認為這是因為筆記本試圖在圖像中寫入內容,并且因為我沒有將圖像作為 sudo 運行(我不想這樣做)并且我在執(zhí)行圖像時也沒有指定 --writable (也不想這樣做),它抱怨無法在圖像中寫入。有沒有辦法“告訴”圖像在我的主目錄中而不是在圖像內部讀取和寫入文件?
3 回答

MMMHUHU
TA貢獻1834條經(jīng)驗 獲得超8個贊
我剛剛遇到了同樣的問題,這似乎已經(jīng)為我解決了:將容器內的 /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
創(chuàng)建了一個文件夾

拉丁的傳說
TA貢獻1789條經(jīng)驗 獲得超8個贊
這適用于奇點實例,例如:
singularity instance.start --writable --contain --bind shared:/shared sandbox/ jupyter
添加回答
舉報
0/150
提交
取消