首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jupyterhub和conda环境

jupyterhub和conda环境
EN

Stack Overflow用户
提问于 2018-01-17 13:03:35
回答 1查看 2.5K关注 0票数 2

我对conda环境和jupyterhub之间的关系有点困惑。

正如jupyterhub文档所述,它可以从conda安装。因此,可以使用某些conda环境(例如,环境"root")并从它执行“”。

在同样的环境下,将“活”的朱庇特。在此环境中安装nb_conda可以在笔记本中选择内核和其他conda环境。

我的问题是关于软件,如and扩展和ipywidget。他们应该在哪里?在与jupyterhub相同的环境中,还是在新笔记本的环境中?

EN

回答 1

Stack Overflow用户

发布于 2019-08-20 21:19:57

conda和jupyter之间的关系可能是一个混乱的关系。将conda视为您的环境,将jupyter视为任何其他包。一个包,您可以使用该包启动进程,然后提供服务。

要回答您的问题,它们应该安装在您的conda环境中。不幸的是,它比这要复杂一些。所有用户都可以使用这些扩展。我个人还没有在不同的环境中测试过一个拥有更多扩展的用户(如果可能的话,但如果可能的话,我会更新答案)。

如果有帮助的话,这就是医生们要说的话:

要安装jupyter_contrib_nbextensions笔记本扩展,需要三个步骤。首先,需要安装Python包。然后,笔记本扩展本身需要复制到木星数据目录。最后,可以通过使用内置的木星命令启用已安装的笔记本扩展,也可以通过使用jupyter_nbextensions_configurator服务器扩展来更方便地启用该扩展,该扩展是作为此回购的依赖项安装的。

假设您通过conda安装了扩展程序

代码语言:javascript
复制
conda install -c conda-forge jupyter_contrib_nbextensions

然后使用--sys-prefix,这是很好的。从医生那里:

--sys-prefix安装到python的sys.prefix中,例如在虚拟环境中很有用,比如使用conda。

因此,要添加一个扩展,流程应该如下所示:

代码语言:javascript
复制
$ sudo su -
$ pip install fileupload
$ jupyter nbextension install --sys-prefix --py fileupload
$ jupyter nbextension enable fileupload --py --sys-prefix

因为标题是询问conda环境,所以我也会讨论这个问题。我已经在Ubuntu18.04LTS上测试了这些方法。

通常,您会希望允许用户共享用户创建的环境,而不允许用户访问根权限。您有两个很好的选项,我已经看到(有人请评论,如果您知道其他方法):1)共享一个环境,2)复制一个环境的需求文件。不要忘记,您还必须添加环境作为内核。

方法1-共享环境

在共享位置创建一个环境,然后让两个用户将其作为内核添加。

代码语言:javascript
复制
conda create -p /home/envs/test --clone root

可以克隆根以复制根env,也可以复制基环境的基。/home/envs/test将在"envs“目录中创建一个"test”环境。确保env对将要使用这些文件的用户具有所有必要的权限。

从那里作为另一个用户,只需添加环境作为内核。

代码语言:javascript
复制
$ sudo su - <user-to-install-kernel-to>
$ conda activate <test>
$ python -m ipykernel install --user --name test \
         --display-name "Python (test)"

注意..。我相信我必须手动更新内核规范才能使它指向正确的python环境‍♂️。

方法2

或者,只创建环境的副本。

代码语言:javascript
复制
$ conda env export --name test > environment.yml
$ sudo su - customer
$ conda env create --name cust-env-copy --file environment.yml
$ python -m ipykernel install --user --name cust-env-copy \
         --display-name "Python (test)"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48301865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档