如何解决在 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 举报,一经查实,本站将立刻删除。