python - 如何在不使用 ipython 的情况下将 jupyter notebook 配置为具有带有某些导入的预加载单元格?

标签 python python-3.x ubuntu jupyter-notebook jupyter

每次启动时,我都想在笔记本的第一个单元格中导入某些库并定义某些函数。就我而言,我为此目的使用了 Docker 容器。在浏览了几个链接和答案(https://vivekbharadwaj.github.io/data%20science/jumpstart-your-Jupyter-notebook-analysis-with-pre-loaded-cells/)后,我无法设置笔记本,因为我有某些错误。

这些是命令:

# Python3 Kernel for JuPyter notebooks
RUN     python3 -m pip install ipykernel
RUN     python3 -m ipykernel install --user
RUN     python3 -m pip install jupyter_contrib_nbextensions
RUN     mkdir -p /usr/local/airflow/.local/share/jupyter/preload_import_code
RUN     echo "define([ 'base/js/namespace' ], function( Jupyter ) { function load_ipython_extension() { if (Jupyter.notebook.get_cells().length===1){ //change this piece of code to what you want Jupyter.notebook.insert_cell_above('code', 0).set_text(\"import os, sys;\"); } } return { load_ipython_extension: load_ipython_extension }; });" >> /usr/local/airflow/.local/share/jupyter/preload_import_code/main.js
RUN     jupyter nbextension enable --sys-prefix preload_import_code/main

对于当前类似的答案和问题,由于错误或因为使用了ipython,我无法进行配置。

在运行时,我在这一步出现以下错误:

Step 36/41 : RUN     jupyter nbextension enable --sys-prefix preload_import_code/main
 ---> Running in c56e28731e36
Enabling notebook extension preload_import_code/main...
      - Validating: problems found:
        - require?  X preload_import_code/main
Removing intermediate container c56e28731e36
 ---> ea0c6505dd57

最佳答案

我在这里使用了一种不同的方法,特定于 ipython( https://stackoverflow.com/a/56216780/10834788 )。

关于python - 如何在不使用 ipython 的情况下将 jupyter notebook 配置为具有带有某些导入的预加载单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56117434/

相关文章:

python - 无法将多行字符串拆分为行数组

python - 如何从不满足单独条件的三个列表中删除相同位置的元素

linux - 如何在 virtualbox 中调试内核加载和 intrd 加载

php - 在 Ubuntu 上安装 Laravel/Homestead

python - 如何使用 AES 256 实现 Fernet 加密

python - 具有不同数量的参数 (*args) 和具有默认值的参数的函数?

python-3.x - 在python3中它们同样存储在内存中吗?

python - Scikit-learn 教程文档位置

python - 从字符串中提取所有表情符号并忽略 Python 中的 Fitzpatrick 修饰符(肤色等)

python - 使用 argparse 请求 0 或 2 个位置参数?