为多用户安装conda_多用户多环境Jupyter notebook解决方案

本文介绍了如何在Ubuntu 16.04服务器上为多用户安装和配置Jupyterhub,以实现多用户共享并管理各自的conda环境。通过Jupyterhub,用户可以创建和使用自己的虚拟环境,并定制环境依赖。文章详细阐述了配置步骤,包括修改Jupyterhub配置文件,设置用户和用户组,以及创建和激活conda环境。此外,还提供了排错方法和关于Anaconda源变更的提示。
摘要由CSDN通过智能技术生成

最近实验室新购进了一台服务器供小组科研使用,部署多人协作使用jupyter时碰见了很多坑,现在做一个总结,也为同样需求的同行做个指南~

需求服务器多用户同时使用一个端口下的jupyter notebook

多用户能够自己创建虚拟环境并在jupyter中使用他;用时用户可以自己对环境依赖进行定制

OS: Ubuntu 16.04

多用户解决方法使用Jupyterhub, 官方专门为多用户使用Jupyter提出的解决方案;

配置流程

在root管理员下下载anaconda, 使用conda安装jupyerhub

配置Jupyterhub生成配置文件(或自己创建)

bash jupyterhub --generate-config修改配置文件 (重要,默认直接启动的话只有root能够登录)

c.JupyterHub.port = 端口

c.PAMAuthenticator.encoding = '编码'

c.LocalAuthenticator.create_system_users = True

c.Authenticator.whitelist = {'user1', 'user1', 'user3'}

c.Authenticator.admin_users = {'user1'}

c.LocalAuthenticator.group_whitelist = {'group1'}

c.JupyterHub.statsd_prefix = 'jupyterhub'设置用户分组,将user1, user2, user3加入到group1中(先创建好用户)

adduser user1 group1

adduser user2 group1

adduser user3 group1在配置文件目录下启动启动jupyterhub ;直接使用Linux的用户名密码登录即可跳转到用户的主目录下;

注意事项

须在root管理员下启动才可以实现多用户;

必须把子用户与root放在同一个用户组中子用户的jupyter才有权限读写;

多环境(多核)解决方案;首先明确一点,python的环境管理方案有很多,如pipenv\virtualenv等;但jupyter notebook 必须使用conda的环境管理;

多个用户可以使用同一个anaconda3,也可以自行下载一个,不过没必要。可以直接同意使用一个用户下的conda(也可以是root下的anaconda);

每个用户在配置文件中做如下配置:

bash export PATH="$PATH:\某个目录\anaconda3\bin"

这样每个用户在base环境下的的python和conda路径保持了一致;可以使用which命令查看当前每个命令的路径每个用户可以自己使用conda创建虚拟环境,此时创建的虚拟环境的默认保存路径是\home\USer名称\.conda\env下面;该目录下保存了该用户创建的所有虚拟环境;每个虚拟环境下的文件包含Bin和lib等,激活环境后的python路径就变为\home\user\.conda\env\环境名\bin\python了;

很简单的逻辑,python找库要首先找在其目录下的lib下;

此时在虚拟环境下,用户使用conda install安装的库就自然地能被python找到;子用户创建的虚拟环境不能被其他子用户使用,这一点在不同自用户下使用conda env list能检查出来;那什么样的环境可以多用户共享? 答案是conda路径拥有者创建的虚拟环境;

虚拟环境与jupyer核的对应还需要以下几步(在虚拟环境下执行)

bash conda isntall ipykernel python -m ipykernel install --user --name myenv --display-name "Python (myenv)"

这样jupyer notebook的界面才会有新的虚拟环境的kernel的选项;

此时会在/home/USer/.local/kernel下生成配置文件,其实就是制定了这个kernel使用的Python路径,当然你可以自己修改;

几个排错方法使用netstat -ntlp查看网络服务端口开启情况,检查jupyerHub是否启动

多使用which命令看路径,多看.bashrc配置文件中的路径;

友情提示:Anaconda已经不支持清华源了,因此之前如果配置了清华源现在会下载失败(这不是作死嘛。。。)所以大家要把源重新换回来,再想别的方法加速了...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值