在 jupyterlab 项目中导入模块
Posted
技术标签:
【中文标题】在 jupyterlab 项目中导入模块【英文标题】:Import modules in jupyterlab project 【发布时间】:2021-04-13 12:30:39 【问题描述】:我通过 pipenv 安装使用 Jupyter Lab。所以我必须在 pipenv 虚拟环境中运行它。
我有一个目录dir
,其中包含两个子目录my_modules
和notebooks
。在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 项目中导入模块的主要内容,如果未能解决你的问题,请参考以下文章
在 Angular nx 项目中导入 JavaScript 模块