【问题标题】:How to save code file on GitHub and run on Jupyter notebook?如何在 GitHub 上保存代码文件并在 Jupyter notebook 上运行?
【发布时间】:2017-02-24 13:33:55
【问题描述】:

使用 GitHub,我们可以在线存储我们的代码,而使用 Jupyter notebook,我们只能执行一部分 Python 代码。我想一起使用它们。我可以使用存储在我计算机上的 Jupyter 笔记本编辑代码。但是,我无法找到运行存储在 GitHub 上的代码的方法。那么,您知道一种方法吗?

这里有一些例子: https://github.com/biolab/ipynb/blob/master/2015-bi/lcs.ipynb https://github.com/julienr/ipynb_playground/blob/master/misc_ml/curse_dimensionality.ipynb https://github.com/rvuduc/cse6040-ipynbs/blob/master/01--intro-py.ipynb

【问题讨论】:

    标签: python git github jupyter-notebook


    【解决方案1】:

    1。如果您只想运行托管在 Github 或 Gist 中的 Python 代码:

    tip# 8 here 中所述,IPython Magic 命令%load 将用外部脚本替换 Jupyter 笔记本单元格的内容。

    来源可以是您计算机上的文件或网址。
    Github 或 Gist 托管脚本的诀窍是将其指向原始代码的 URL。您可以通过在 GitHub 或 gist.github.com 上浏览脚本并在代码上方的工具栏中按 Raw 来获取原始代码的 URL。将您从地址栏中提取的内容放在%load 之后以获得类似以下内容的内容:

    %load https://raw.githubusercontent.com/dib-lab/khmer/master/scripts/fastq-to-fasta.py
    

    当您在 Jupyter 笔记本单元格中执行代码时,这会将代码拉入笔记本的命名空间。
    更多关于通过 GitHub 或 Gists herehere 使用原始代码的信息。更多其他魔法命令可以在here找到。

    同样,如果您想将脚本作为文件引入,您可以使用%run(或从命令行等效项)在笔记本中调用,在笔记本单元格中使用curl,脚本将添加到当前目录。

    !curl -O https://raw.githubusercontent.com/dib-lab/khmer/master/scripts/fastq-to-fasta.py
    

    然后,您将在 Jupyter 笔记本中运行脚本,并在单元格中包含以下内容:

    %run fastq-to-fasta.py
    

    在脚本名称之后为脚本提供任何必要的参数。通常您可以运行%run <script_name> --help 来获取有关脚本期望的参数的信息。在 notebook 中使用 %run 可以提供更全功能的 Jupyter 体验; 使用 %run 在 Jupyter 笔记本中运行脚本类似于在命令行上运行脚本的传统方式。

    2。如果你想运行放在 GitHub 上的 notebook:

    或者,如果您希望其他人能够轻松运行该笔记本。
    查看这篇 Nature 文章 here 中突出显示的 MyBinder.org。有关该服务的更多信息,请访问hereherehere

    在 MyBinder.org 页面上,您可以将服务指向任何 Github 存储库。不过需要注意的是,除非它是笔记本中相当普通的 python,否则你会遇到依赖问题。您可以按照herehere 的指导将其设置为地址。
    这样做是为了生成this launchable repo,因为我派生了一个最初没有设置为使用 Binder 系统的设备。再比如这个R代码,基于a gist shared on a twitter exchange可以看here

    使用它,您可以获得Launch Binder 徽章,您可以将其添加到您的存储库并随时启动它。查看可以启动 here 的示例。

    【讨论】:

    • 我应该补充一点,如果您在使用 %load 命令时引用 Github 上的特定提交,您可以使您和其他人的工作更加稳定/可重复。您可以浏览提交的历史记录,然后通过 GitHub Web 界面输入特定的和 Browse files 并获取特定提交的原始链接。在上述示例的基础上,您将使用 %load https://raw.githubusercontent.com/dib-lab/khmer/2c87d813c2e39550ece844db10a9d55b4dadc209/scripts/fastq-to-fasta.py 指定 2017 年 9 月 14 日提交的脚本版本。
    【解决方案2】:

    Github 是一个版本和源代码控制工具,您需要将代码副本复制到本地环境。

    有初学者教程here

    一旦您设置了 github 帐户并定义了本地和远程存储库,您将能够使用 git checkout 检索代码。进一步的解释在教程中

    【讨论】:

    • 感谢您的回答。
    • 但是,在上面的示例中,似乎人们将代码存储在 GitHub 上并在 Jupyter notebook 上运行。看看吧:github.com/rvuduc
    • 您需要通过教程来定义您的本地存储库并检查您有兴趣运行的分支
    猜你喜欢
    • 2020-10-23
    • 1970-01-01
    • 2015-10-27
    • 1970-01-01
    • 2018-07-26
    • 1970-01-01
    • 2018-12-02
    • 2022-01-11
    • 1970-01-01
    相关资源
    最近更新 更多