Python 2.7 如何在DSX中提供用户功能/模块
我在一个单独的python脚本中定义了一些助手实用程序。我想让脚本可用于DSX笔记本,这样我可以在单元格中调用它们,但我不想直接将脚本放入单元格中Python 2.7 如何在DSX中提供用户功能/模块,python-2.7,python-3.x,ibm-cloud,dsx,data-science-experience,Python 2.7,Python 3.x,Ibm Cloud,Dsx,Data Science Experience,我在一个单独的python脚本中定义了一些助手实用程序。我想让脚本可用于DSX笔记本,这样我可以在单元格中调用它们,但我不想直接将脚本放入单元格中 实现这一点的一些方法是什么?如果您同意在公共git存储库中公开代码,您可以将代码转换为python包并保存在github中。有关示例包,请参见此处: 您可以使用以下方式直接从github安装它: !pip install --user git+https://github.com/public_account/public_repo 私有githu
实现这一点的一些方法是什么?如果您同意在公共git存储库中公开代码,您可以将代码转换为python包并保存在github中。有关示例包,请参见此处: 您可以使用以下方式直接从github安装它:
!pip install --user git+https://github.com/public_account/public_repo
私有github存储库
还可以使用与上面类似的方法,使用私有github存储库,只需几个额外的设置步骤和不同的pip url格式。例如
在dsx上生成ssh密钥
! ssh-keygen -b 2048 -t rsa -f ~/.ssh/id_rsa -q -N ""
将以下命令的输出添加到github帐户设置::SSH和GPG密钥
! cat ~/.ssh/id_rsa.pub
接下来,将github ssh密钥添加到dsx:
! ssh-keyscan github.com >> ~/.ssh/known_hosts
重要提示:您应该手动验证导入的github主机密钥是否真实。您可以通过以下方式查看导入的密钥:
! cat ~/.ssh/known_hosts
现在可以使用pip安装:
! pip install --user git+ssh://git@github.com/private_account/private_repo
小心以上方法有一些安全考虑。也就是说,任何有权访问spark服务(您在其中执行上述命令)的人都可以访问git私有存储库
注意: 理想情况下,在未来,我希望看到dsx提供对编辑项目中所有文件的支持,并将所有项目文件提交给github,例如
curl \
-X PUT \
-k \
-u ${tenant_id}:${tenant_secret} \
-H "X-Spark-service-instance-id: ${instance_id}" \
--data-binary "@path_to_local_file" \
${cluster_master_url}/tenant/data/destination_file_name
通过登录Bluemix控制台并导航到服务凭据,可以获得上述变量。或者,您可以使用命令行cf
工具来检索此信息。这提供了有关cf
命令行方法的更多信息
将软件包上载到spark服务后,您可以使用:
! pip install --user ${HOME}/data/destination_file_name
这个答案值得称赞 如果包位于git repo中的文件夹中:!pip安装——用户“git+”,无需公开代码。用户可以将包上载到文件系统,然后在本地文件上使用
pip
。谢谢罗兰-我已经添加了这些步骤作为一个单独的答案:。