Jupyter笔记本与RStudio Connect的集成

rsconnect-jupyter的Python项目详细描述


rsconnect jupyter

rsconnect jupyter是 jupyter笔记本的插件 将笔记本发布到rstudio 连接

要求

  • Python2.7.9或Python3.4.0及更高版本
  • Jupyter笔记本5.x
  • pip
  • 轮子
  • rstudio连接v1.7.0 或更高版本,配置为支持python。

如果使用Conda,则应该已经安装了pip和车轮。

安装

如果要安装在jupyterhub中使用的rsconnect jupyter,请参见 Jupyterhub下面的部分。

我们建议在virtualenv中工作。如果你 如果不熟悉,这些命令会创建并激活一个virtualenv/my/path

pip install virtualenv
virtualenv /my/path
source /my/path/bin/activate

在虚拟机中安装jupyter

pip install jupyter
< Buff行情>

注意:确保从虚拟环境运行jupyter,而不是从全局环境运行jupyter 安装。

使用以下命令安装rsconnect jupyter包:

pip install rsconnect_jupyter

使用以下命令启用rsconnect jupyter扩展:

# Install `rsconnect-jupyter` as a jupyter extension
jupyter-nbextension install --sys-prefix --py rsconnect_jupyter

# Enable JavaScript extension
jupyter-nbextension enable --sys-prefix --py rsconnect_jupyter

# Enable Python extension
jupyter-serverextension enable --sys-prefix --py rsconnect_jupyter

注意:以上命令在安装时只需运行一次 rsconnect\u jupyter

注意:如果您在安装过程中遇到问题,请通过归档通知我们 这里有一个bug

卸载

首先禁用并删除rsconnect jupyter笔记本扩展名:

# Disable Python extensions found in `rsconnect-jupyter`
jupyter-serverextension disable --sys-prefix --py rsconnect_jupyter

# Remove JavaScript extension
jupyter-nbextension uninstall --sys-prefix --py rsconnect_jupyter

最后,卸载rsconnect jupyterpython包:

pip uninstall rsconnect_jupyter

升级

要升级rsconnect jupyter,首先卸载扩展,然后 重新安装。

用法

打开笔记本并单击蓝色的"发布到rstudio连接"图标 将当前笔记本发布到rstudio connect。

用于发布笔记本的蓝色工具栏图标

输入服务器信息

如果这是您第一次发布此笔记本,您将 提示输入rstudio连接的位置和昵称 服务器,

提示rstudio connect位置的初始对话框

发布选项

系统将提示您输入用于发布的api密钥 将您帐户下的笔记本电脑连接到选定的rstudio connect服务器。

请参阅rstudio connect用户 指南 有关为用户生成API密钥的说明。

提示输入API键的发布对话框

有两种不同的发布模式。选择"仅发布完成的文档"将向rstudio connect发布笔记本的html快照。HTML快照是静态的,无法在RStudio Connect服务器上计划或重新运行。

如果选择"使用源代码发布文档",则笔记本文件和安装在环境中的python包列表将发送到rstudio conNECT这使rstudio connect能够重新创建环境并在以后重新运行笔记本。

使用pip进行环境检测

随笔记本一起发送的包列表来自python 运行笔记本内核的环境。为了环境 检查工作时,rsconnect jupyter包必须安装在 内核环境;即ipykernel包所在的环境 安装。在大多数情况下,这将与笔记本服务器相同 安装了jupyter的环境。

命令pip freeze将用于检查环境。输出 ofpip freeze列出当前安装的所有软件包及其 版本,使rstudio connect能够重新创建相同的环境。

处理冲突

如果在rstudio connect上找到与笔记本标题匹配的内容,则 可以选择覆盖现有内容或创建新内容。

提示覆盖或发布新内容的对话框

选择"新位置"将在rstudio connect中创建一个新文档。您可以选择发布模式-HTML快照或带有源代码的文档。

更新现有文档不会更改其发布模式。

成功发布文档后,通知将为 显示在工具栏中。单击通知将打开已发布的 您在前面选择的rstudio connect服务器中的文档 对话框,

显示笔记本已成功发布的通知

协作

若要与其他人协作,请将他们添加为rstudio connect中的协作者。期间 发布他们应该提供他们的api密钥,并且能够选择 如果笔记本标题相同,则要发布到的内容位置。

如果需要,您可以共享笔记本。

在Jupyterhub中安装

在jupyterhub中,按照上面的说明安装 rsconnect jupyter打包到python环境中 已安装笔记本服务器和内核。通常这些都是一样的 环境。如果您已经配置了单独的内核环境,请安装 rsconnect jupyter笔记本服务器环境中的包以及每个包 内核环境。

确切的安装位置取决于jupyterhub的配置。

jupyterhub示例配置

本节介绍jupyterhub配置的一个简单工作示例 安装了rsconnect jupyter后。

本例使用Docker,但您可以在 任何Jupyterhub安装。不需要Docker。

文档文件示例:

FROM jupyterhub/jupyterhub:0.9.4# Install Jupyter notebook into the existing base conda environmentRUN conda install notebook

# Download and install rsconnect-jupyter in the same environment# Update this to specify the desired version of the rsconnect-jupyter package,# or pass `--build-arg VERSION=...` to docker build.ARGVERSION=RSCONNECT_VERSION
ARGREPOSITORY=https://s3.amazonaws.com/rstudio-rsconnect-jupyter

RUN wget ${REPOSITORY}/rsconnect_jupyter-${VERSION}-py2.py3-none-any.whl
RUN pip install rsconnect_jupyter-${VERSION}-py2.py3-none-any.whl &&\
	jupyter-nbextension install --sys-prefix --py rsconnect_jupyter &&\
	jupyter-nbextension enable --sys-prefix --py rsconnect_jupyter &&\
	jupyter-serverextension enable --sys-prefix --py rsconnect_jupyter

# create test usersRUN useradd -m -s /bin/bash user1 &&\
	useradd -m -s /bin/bash user2 &&\
	useradd -m -s /bin/bash user3 &&\
	bash -c 'echo -en "password\npassword" | passwd user1'&&\
	bash -c 'echo -en "password\npassword" | passwd user2'&&\
	bash -c 'echo -en "password\npassword" | passwd user3'CMD["jupyterhub"]

运行以下命令生成并启动容器:

docker build -t jupyterhub:rsconnect-jupyter .
docker run --rm -p 8000:8000 --name jupyterhub jupyterhub:rsconnect-jupyter

在http://localhost:8000上连接到jupyterhub并作为测试之一登录 用户。从那里,您可以创建一个笔记本并将其发布到rstudio connect。 请注意,当前的jupyterhub docker映像使用python 3.6.5,因此您将 需要在rstudio connect服务器上安装兼容的python版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java中ArrayList的超简单问题   Java 8在一段时间后过期   java如何创建具有用户定义维度的矩阵,并使用从上到下、从左到右的递增值填充它?   java从JDBC重启mysql   带有sqlite的java LiveData未更新UI   带有JDialog的java小程序在Mac OSX中未正确隐藏   java ActionListener无法从公共类引用数组?   java Apache Digester:NoSuchMethodException:没有这样的可访问方法   安卓中数据库中的java数据没有以正确的格式检索   java快速排序实现:使用random pivot时几乎排序   安卓 Java:高效的ArrayList过滤?   java如何在单独的文件中制作GUI程序   jasper报告如何从JSP或Java代码在JasperReport中传递参数值?