微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 GCP Notebook Instance 中为 Python 模块设置 JupyterLab 的根文件夹从不同目录导入我自己的源文件

如何解决在 GCP Notebook Instance 中为 Python 模块设置 JupyterLab 的根文件夹从不同目录导入我自己的源文件

我正在使用 GCP 笔记本实例(准确地说是来自 Vertex AI),并且我正在努力将 Python 脚本/模块(在特定文件夹中)中的函数导入到笔记本(在不同文件夹中) .

因此,有什么办法可以将我的 repo 的根文件夹设置为 Python 模块所在的 repo?在 Pycharm 中,我可以选择将此根文件夹设置为“Sources Root”,并且所有导入都可以正常工作。但是,我不确定如何在 GCP 上笔记本实例的 JupyterLab 上执行此操作。

解决方法

GCP Jupyter(IPython) Notebook 中,没有像 Pycharm IDE 那样设置“源根目录”的选项。如果您想设置自己的路径来导入 Python 模块/函数,请遵循以下解决方案:

示例项目结构:

/home/jupyter/ (Default root directory)
-src
-tutorial
-hello
   - basic.py (function file)
-source
   - test.ipynb

1.临时解决方案

  • 您可以使用“sys.path.append”将函数文件的对应路径临时添加到IPython。例如,如果您的 IPython 路径中缺少“/home/jupyter/hello”,您可以将其附加如下:
import sys
sys.path.append('/home/jupyter/hello')
print(sys.path)
  • 执行上述代码后,您应该可以看到在“sys.path”中添加了“/home/jupyter/hello”作为路径。例如,如果您在“test.ipynb”中通过 sys.path.append 添加了路径,则添加的路径仅在 test.ipynb 中有效。它不适用于任何其他 .ipynb。因此,如果要添加所有 .ipynb 共有的路径,则应遵循永久解决方案。

2.永久解决方案

  • 永久解决方案可能是更改 IPython 配置选项。因此,打开笔记本上的终端并执行以下步骤:

步骤 1:转到文件 -> 新建 -> 终端并执行以下命令以创建和定位 IPython 配置文件。当然,您的 IPython 配置文件路径可能与以下示例不同:

$ ipython profile create 
$ ipython locate 
/home/jupyter/.ipython

第 2 步:要编辑配置文件,请执行以下命令:

$ cd /home/jupyter/.ipython 
$ nano profile_default/ipython_config.py

第 3 步:找到“#c.InteractiveShellApp.exec_lines”,删除“#”以取消注释。添加以下几行以将您自己的路径添加到“sys.path”并通过按 Ctrl + O 和 Enter 保存您所做的更改。要退出 nano,请键入 Ctrl + X。

c.InteractiveShellApp.exec_lines = [ 'import sys; sys.path.append("/home/jupyter/hello")' ]

第 4 步:最后,关闭您当前的 Jupyter Notebook 并转到 VertexAI 上的 Notebooks 页面。单击您配置的笔记本实例的复选框。停止实例并再次启动它以更新您的配置。现在,打开 Jupyter Notebook 并测试您的代码。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。