如何利用virtualenv工具在JupyterHub上以非root权限创建基于Python3.6.6的虚拟环境?

Posted JasperGui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何利用virtualenv工具在JupyterHub上以非root权限创建基于Python3.6.6的虚拟环境?相关的知识,希望对你有一定的参考价值。

JupyterHub是支持多用户的 Jupyter Notebook 服务器,用于创建、管理、代理多个 Jupyter Notebook 实例,具有扩展性和可定制性。


在此服务器下,如果一个普通用户(不具有root权限且无法获得)想创建一个Python3.6的虚拟环境,而Ubuntu或者管理员配置的Python不是此版本,则普通用户在创建虚拟环境的时候需要先安装Python3.6,但是通用安装方法会用到如下命令来将 bin文件写入/usr目录下:


sudo make install


但这需要root权限,此时如果没有root权限则可能会安装失败,本文正是针对此问题提供一种解决方案。


本文假定的用户名为: jasper


首先,登录到Jupyter服务器,打开一个terminal,如下图所示:



然后,在terminal下分别执行如下步骤:



STEP 1 安装Python3.6.6(本文基于Ubuntu16.04.5)


# 从官网提取Python3.6.6的tgz压缩包wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz# 解压tar -xzf Python-3.6.6.tgz# 切换到Python目录cd Python-3.6.6# 新建一个文件夹来放安装后的Python3.6.6mkdir -p /home/jasper/python3.6.6# 修改配置文件来改变Python默认的安装位置./configure --prefix="/home/jasper/python3.6.6" --enable-optimizations --with-sslmakemake install


如果成功安装,在 /home/jasper/python3.6.6 应该就会有对应的bin文件夹



STEP 2 创建基于Python3.6.6的虚拟环境test_env


本文使用virtualenv包创建虚拟环境,如果没有安装,需要首先安装virtualenv:


pip install --user -U virtualenv


如果安装程序没有把virtualenv放入环境变量,则需要自己将其放入环境变量,方法是修改.bashrc文件:


vim ~/.bashrcI # 进入编辑模式# 在文件适当位置中添加如下语句export PATH="/home/jasper/.local/bin:$PATH"ESC  # 退出编辑模式:wq  # 保存并退出vim source ~/.bashrc  # 重启修改后的配置文件


为了方便环境管理,需要为不同的虚拟环境创建不同的子文件夹:


mkdir virtual_env  # 创建一个文件夹专门放置所有的虚拟环境cd virtual_envmkdir test_env  # 我当前准备创建的虚拟环境


创建完必要的文件夹后,开始初始化该环境:


cd ~  # 调整到用户主目录 /home/jasper# 开始创建虚拟环境并指定python版本为3.6.6virtualenv -p /home/jasper//Python-3.6.6/bin/python3.6 test_env# 激活该环境判断是否创建成功source test_env/bin/activate# 退出环境deactivat



STEP 3 将创建好的虚拟环境test_env添加到Jupyter的Kernel当中


pip install --user -U ipykernelipython kernel install --user --name=test_env


然后reload你的Jupyter notebook,新建一个Python3的文件,在Kernel下点击Change kernel的下拉菜单中,应该可以看到我们刚建的test_env虚拟环境,如下图所示:




以上是关于如何利用virtualenv工具在JupyterHub上以非root权限创建基于Python3.6.6的虚拟环境?的主要内容,如果未能解决你的问题,请参考以下文章

利用virtualenv实现Python2和Python3共存,且ipython2和ipython3共存

windows 环境下如何使用virtualenv python环境管理工具

如何在 PyCharm 终端中激活 virtualenv?

在windows环境下利用virtualenv搭建Python虚拟环境

virtualenv和virtualenvwrapper工具

Mac OSX python多版本管理工具:pyenv 和 virtualenv搭建