在 jupyterlab 项目中导入模块

Posted

技术标签:

【中文标题】在 jupyterlab 项目中导入模块【英文标题】:Import modules in jupyterlab project 【发布时间】:2021-04-13 12:30:39 【问题描述】:

我通过 pipenv 安装使用 Jupyter Lab。所以我必须在 pipenv 虚拟环境中运行它。

我有一个目录dir,其中包含两个子目录my_modulesnotebooks。在notebooks 内部,我整理了我的 ipynb。在my_modules 里面我放了一些.py 代码,我通常在笔记本中使用。

似乎笔记本的默认工作目录是它所在的目录。我想知道...有没有办法将笔记本的默认工作目录(这个特定的 Jupyter Lab 安装)设置为 dir 目录?

如果没有,有没有一种方法可以让我从 ipynb 内部的 notebooks 相对导入来自 my_modules 的模块,而无需在每个笔记本的开头使用诸如 %cd ..import sys; sys.path.append('some/dir') 之类的单元代码

【问题讨论】:

【参考方案1】:

您可以在运行时使用os.chdir('/some/directory/') 更改笔记本的工作目录。

要相对导入没有sys.path.append()的模块,可以设置一个环境变量PYTHONPATH,其中包含你的模块目录(你可能需要重启Jupyter Lab才能生效)。在 Windows 上,您可以通过 Start -> type "Edit environment variables for your account" 设置环境变量。

【讨论】:

以上是关于在 jupyterlab 项目中导入模块的主要内容,如果未能解决你的问题,请参考以下文章

如何从项目中导入模块[重复]

Androidstudio中导入内部依赖模块总结

在 Angular nx 项目中导入 JavaScript 模块

我无法使用 PythonKit 在 Xcode 11 中导入 Python 模块

python如何删除已在shell中导入的模块?

在 Flutter 项目中导入 AAR