我想制作交互式幻灯片集(用于在 python 中进行一些实时编码的演示)RISE https://damianavila.github.io/RISE/又名 live_reveal,它是 Jupyter 的笔记本扩展。
我希望其他人(以及未来的我)可以使用幻灯片集,而无需太多手动步骤(并且不依赖托管的 Jupyter 解决方案),因此我选择了pipenv
来管理依赖关系。
我可以开始使用
pipenv install RISE
pipenv run jupyter nbextension install rise --py --sys-prefix
pipenv run jupyter nbextension enable rise --py --sys-prefix
pipenv run jupyter notebook # to start the jupyter server
然而,仅pipenv install RISE
在本地目录中留下痕迹(在Pipfile
and Pipfile.lock
)。因此,当在新机器上使用我的文件时(或之后pipenv --rm
) just
pipenv install
pipenv run jupyter notebook
还不够。The two nbextension
必须重复步骤启用 RISE 扩展并在 Jupyter 笔记本中提供用于切换到演示模式的按钮。
这可以自动化吗? (Without使用额外的工具,如 conda、docker、vagrant、make 或其他构建系统,...)如果是这样,应该如何自动化?
我可以告诉吗pipenv
(例如在Pipfile
)在软件包安装后运行这两个命令?或者我应该让笔记本(*.ipynb
文件)以某种方式加载扩展名?
这超出了 pipelinev 的范围。 Pipenv 管理您的python环境 - 即安装了哪些软件包 - 仅此而已。 (唯一的例外是环境变量.env
文件被加载到pipenv run
or pipenv shell
命令)。您在问题中列出的 nbextension 命令实际上根本不处理 python 环境,而是移动 javascript 和 css 文件(install rise
)并创建(或编辑,如果您安装了其他 nbextensions)一个 json 配置文件(enable rise
).
无论好坏,pipenv 没有类似 postinstall hook 之类的东西来运行任意构建命令。 jupyter 似乎也没有办法预先打包或自动安装扩展,尽管我对此可能是错的。
我个人的观点是,使此类事情可重复正是您提到的构建工具的最佳用途。如果不使用您提到的您不想使用的构建工具,最好的选择是编写一个清晰的自述文件或您自己的(有记录的)安装后 shell 脚本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)