python - 如何在 GCP 的 Jupyter notebook 中安装自定义库?
问题描述
我正在开发一个 Python 库,我需要从 GCP Notebook 提供它。
可能吗?如何?
细节:
- 我使用 Pipenv 来管理我的库依赖项。目前我的库源代码存在于本地和私有 git 存储库中。所以它不在 PyPI 中。
- 我的代码在嵌套目录中有多个模块文件。
- 我的库的依赖项存在于 PyPI 中。
使用 Pipenv,依赖关系在 Pipefile 中描述。
这是我的 Jupyter VM 实例的类型:https ://cloud.google.com/deep-learning-vm
这是我可以从 Google 控制台使用 SSH 找到的一些有趣的结构:
$ ls /opt/deeplearning/
bin binaries deps jupyter metadata proxy-agent-config.json restriction src workspace
- 我设想安装我的库(使用
pip
或其他)以便能够从笔记本中导入其模块。 - 我需要在安装库时安装我的库的所有依赖项。
- 如果 Python 包索引是公开的,我不想在其中发布我的库是专有的。
谢谢你。
解决方案
我从您的问题中了解到:您正在编写自己的python 模块,该模块依赖于许多第三方python 包(可以使用pip 安装)。
在这种情况下,我可能会对模块完美加载所有内容的实际环境进行 pip freeze。
pip freeze > requirements.txt
(它将创建一个包含所有依赖模块/库的 requirements.txt 文件)
现在,一旦在 jupyter notebook 中,您可以使用以下命令首先安装所有需求。
(在笔记本代码单元中运行以下代码)
# Install a pip package in the current Jupyter kernel
import sys
!{sys.executable} -m pip install -r requirements.txt
推荐阅读
- scala - 具有替代方法的重载方法值过滤器:在 play-framework 2.6 中
- python - 如何对拥有共享链接的用户隐藏 Google Colaboratory 中的密钥?
- python - Cmd没有在python中捕获用户名
- git - 如何从多个存储库触发詹金斯管道
- android - Android Studio 找不到 Jitpack 依赖但可以手动添加
- linux - 在 for 循环中使用 ncks 从多个 netcdf 文件中提取数据
- java - Javafx 的 RTSP 支持库
- c# - 表单内的多个选择列表
- .net - 如何在 TeamCity 中设置分支标签?
- laravel - 如何仅将询问用户名和密码功能添加到我的 Laravel 路由之一?