python - 直接在线运行一个 Jupyter notebook(无需在本地下载)
问题描述
当找到一个有趣的 Python Jupyter Notebook,例如02.00-Introduction-to-NumPy.ipynb时,我通常必须:
- 下载到本地
- 在同一文件夹中打开一个外壳(提示:使用++ SHIFTOpen command window here以节省 30 秒在不同文件夹中的浏览时间)并执行RIGHT CLICK
jupyter notebook
- 选择正确的.ipynb文件,最后运行代码
没有更简单的方法可以做到这一点吗?
打开在线的 .ipynb 笔记本并运行代码而无需手动下载 .ipynb 的自然方法是什么?
注意:笔记本在此处可见:https ://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/02.00-Introduction-to-NumPy.ipynb但我们无法运行代码
解决方案
@jakevdp 以一种很好的方式构建,请参见此处。简而言之,在每一页上他都有一个Open in Google Colab
按钮:
@GoogleColab 可以直接从 @github 打开任何 @ProjectJupyter 笔记本!
要运行 notebook,只需将 notebook URL 中的“ http://github.com ”替换为“ http://colab.research.google.com/github/ ”,它就会被加载到 Colab 中。
示例:02.00-Introduction-to-NumPy.ipynb变为:https ://colab.research.google.com/github/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/02.00-Introduction-to-NumPy.ipynb
默认情况下,代码将在 Colab 的远程服务器上运行,但也可以在本地运行,方法是单击右上角的Connect to local runtime...
:
我个人更喜欢MyBinder 项目作为路线。它将打开包含任何 Github 存储库、Github Gists、Gitlab 存储库、Zenodo 存档、Dataverse 存储库、Datashare 存档、Figshare 存档等内容的临时活动会话。许多存储库已经包含必要的配置文件,甚至在launch binder
其中放置了一个按钮。有些人没有,但您可以转到MyBinder 项目中的表单并生成会话。该表单还将生成一个 URL,您可以使用它来定位公共 MyBinder 系统以打开会话更改 例如,此人发布了为所有 Jakes 笔记本打开会话的链接,您只需访问 URL https:// mybinder.org/v2/gh/jakevdp/PythonDataScienceHandbook/master?filepath=notebooks%2FIndex.ipynb告诉 MyBinder 开始一个会话。然后从出现的索引页面中,您可以单击上面列出的链接并运行它。Jake 包含了 MyBinder 也可以识别的配置文件。请注意,对于您将指向 MyBinder 的某些存储库或存档,它没有必要的配置文件,因此您可以在当前会话中运行%pip install <package_name_here>
或!conda install <package_name_here>
继续运行代码。限制包括您必须注意不共享任何您不介意公开的内容、有限的资源,并且不允许使用 FTP 以避免滥用。
其他一些可以帮助您入门的方法:
- 示例 Binder 存储库例如,其中列出的第一个包括安装在启动环境中的库 seaborn 并使用它来绘制图形。
推荐阅读
- python - 如何在熊猫中将两个表合并在一起后使用fillna()映射多个列的值以填充“nan”值?
- ios - Flutter Webview Apple Pay
- javascript - 我的 chrome 扩展程序不会阻止成熟的网站
- keycloak - 是否可以通过 CLI - GUI 在(Keycloak 或 RH-SSO)中创建领域?
- swift - Swift 变量:处理这个字符串声明的最佳方式?
- sql-server - 限制 SQL Server 中用户查询的大小和/或频率
- amazon-web-services - 将时间戳附加到 builspec.yaml 文件中的 S3 存储桶文件夹
- kubernetes - Kubernetes ClusterIP 与无头服务场景
- mysql - 如何在 AWS 上将 RDS 可用区更改为同一区域内的不同可用区?
- java - 序列化在 main 中初始化的对象