【问题标题】:Associate ipynb files with Jupyter notebook in Windows 10 (Anaconda)将 ipynb 文件与 Windows 10 (Anaconda) 中的 Jupyter 笔记本关联
【发布时间】:2018-04-26 08:21:01
【问题描述】:

我在我的 Windows 10 机器上安装了 Anaconda。

我的电脑上有几个 Jupyter 笔记本,我想将它们与 Jupyter 相关联,这样可以通过双击文件来打开它们,以避免每次都打开 Jupyter 并导航到笔记本文件夹。这可能吗?

所有笔记本都应该在同一个 Jupiter Kernel(浏览器地址栏中的同一个 localhost)中打开,而不是为我单击的每个文件启动一个新内核。

PS 我在这里问是因为我认为这个问题对程序员更感兴趣,但如果你认为它更适合超级用户,我会将其标记为迁移。

【问题讨论】:

  • 我认为双击 ipynb 文件并让它启动 Jupyter Notebook 服务器并打开文件是不可能的。如果可能的话,我认为您必须创建一个与 ipynb 文件关联的单独批处理脚本,并在该批处理脚本中启动 Jupyter Notebook。打开 Anaconda Prompt,cd 到包含文件的目录,然后启动 Jupyter notebook 可能会更容易。
  • @dartbith 这就是我一直在做的事情(打开 Anaconda 提示符,cd 到 ipnyb 目录并执行 jupyter notebook)。我一直在寻找替代品,但显然没有。
  • 您可以创建 Anaconda Prompt 快捷方式的副本,并更改​​复制的快捷方式的“Start in”文件夹。至少那时您不必执行 cd 步骤。不幸的是,我目前不在 Windows 上,所以我无法检查这是否可行。
  • @darthbirth 在 Windows 上进行了检查,并且可以正常工作。有点烦人,因为我必须为每个 Jupyter 项目文件夹创建快捷方式的副本,但我不会同时处理多个笔记本项目,所以没关系(我更喜欢使用真正的 IDE,例如PyCharm 用于开发 Python 代码,Jupyter 主要用于通信/报告)。
  • ** @endolith 在下面的答案中给出了解决方案**。尚未标记为正确,但它是正确的。

标签: windows anaconda jupyter-notebook jupyter


【解决方案1】:

安装nbopen:https://github.com/takluyver/nbopen

pip install nbopen
python -m nbopen.install_win

现在您可以双击*.ipynb 文件:

【讨论】:

  • 谢谢。我将在接下来的几天内对此进行测试,并在确认它对我有用后接受您的回答。
  • 太棒了 - 适合我。 Windows 10。Anaconda,Python 3。@DeltaIV 你应该把它标记为正确。
  • 对我来说,在运行 jupyter notebook 之前,我首先必须至少激活基本虚拟环境。在这种情况下,我该如何实现这种双击功能?
  • 运行它并双击现有的 .ipynb 后出现 404 错误
  • 这个解决方案的问题是它为每个文件启动了一个新的 Jupiter Kernel(浏览器地址栏中的不同 localhost 编号),而不是像它应该做的那样重用一个开放的内核。它实现了与@fredm73 答案相同的非理想结果,但有很多不必要的复杂性。
【解决方案2】:

将 .ipnyb 与 jupyter-notebook.exe 关联

在 Windows 10 上:控制面板/程序/默认程序/将文件类型或协议与程序关联/按文件类型选择默认应用程序

查看扩展名列表,找到“.ipnyb”。单击图标并找到 jupyter notebook 程序。在我的 Anaconda 安装中,它位于 anaconda/scripts/jupyter-notebook.exe

【讨论】:

  • 如果尝试使用 jupyter-notebook.exe 打开 ipynb 文件时出现 404 页面,则需要更新 Jupyter 和 Jupyterlab。为此,请在命令提示符下运行 conda update jupyterconda update jupyterlab
  • Windows 似乎不再允许在该菜单中关联任意程序。相反,右键单击笔记本文件,单击属性,然后您可以从那里设置任何程序来打开文件。至少现在……
  • Win10 和 Anaconda, Python 3.7 对我不起作用
  • Win10 和 Anaconda, Python 3.7 对我也不起作用
  • 这个解决方案的问题是它为每个文件启动了一个新的 Jupiter Kernel(浏览器地址栏中的不同 localhost 编号),而不是像它应该做的那样重用一个开放的内核。
【解决方案3】:

对我来说最简单的方法 - 双击 .ipnyb 文件。当提示选择一个程序以打开扩展时,请转到 /ProgramData/Anaconda3/Scripts 并找到 jupyter-notebook.exe 文件并单击它。

注意 - 要访问 ProgramData 文件夹,您需要在 Windows 资源管理器中查看隐藏文件夹或通过在导航行中键入 %programdata% 来访问它:

【讨论】:

  • 这适用于我的 Windows,谢谢!在 Ubuntu 上是否也有这样一种简单的方法来设置它?
  • 它有效,非常感谢,您只需要执行一次,它就会应用于所有 .ipynb 文件,不需要额外的软件或库。 (但可能需要设置一些 PATH)
  • 这个解决方案的问题是它为每个文件启动了一个新的 Jupiter Kernel(浏览器地址栏中的不同 localhost 编号),而不是像它应该做的那样重用一个开放的内核。
  • @divenex 你有解决方案吗?这样在 Windows 中双击笔记本文件会在同一个内核中打开笔记本?无需安装第三方工具。谢谢
  • 没有解决方案,我会在这里给出。甚至安装 nbopen 也没什么区别,仍然为我打开了不同的内核。
【解决方案4】:

如果您安装了带有 Anaconda 的 Jupyter,您可以执行以下操作。

创建一个包含内容的小批处理文件(例如 start_jupyter_notebook.bat)(命令来自 Jupyter 快捷方式):

@echo off
set ANACONDAPATH=C:\_work\_programs\Anaconda3
%ANACONDAPATH%\python.exe %ANACONDAPATH%\cwp.py %ANACONDAPATH%^
 %ANACONDAPATH%\python.exe %ANACONDAPATH%\Scripts\jupyter-notebook-script.py %1

(当然,您必须将 ANACONDAPATH 更改为您的安装)

然后转到您选择的一个 .ipynb 文件,右键单击它,转到属性 --> 打开方式 --> 更改并选择您创建的批处理文件。

我很确定这也可以为任何其他 Python/Jupyter 安装设置。

附: cwp.py 文件设置了一些环境变量。我想这就是为什么 fredm73 的答案对每个人都不起作用的原因。除此之外,我的答案最终非常相似。

【讨论】:

  • 这个解决方案就像一个魅力!它应该被赞成!
  • 这会启动 jupyter,但不会打开特定的笔记本。如何通过双击IPYNB文件在jupyter中打开笔记本?
  • @Confounded 我可以双击一个 ipynb 文件,它会按照我的描述直接打开。不知道为什么它不适合你。你有安装 Anaconda 吗?也许您可以将原始 Jupyter 快捷方式与我在此处介绍的内容进行比较,因为我只是稍微修改了原始 Jupyter 快捷方式。可能你的设置不一样。您是否尝试从终端/命令行运行批处理文件?它有任何错误吗?
  • 我将其调整为与 R 环境一起使用 cd %HOMEPATH% %ANACONDAPATH%\python.exe %ANACONDAPATH%\cwp.py %ANACONDAPATH%\envs\R %ANACONDAPATH%\envs\R \python.exe %ANACONDAPATH%\envs\R\Scripts\jupyter-notebook-script.py %1
  • 对我来说,它为每个文件启动一个新的 Jupyter 内核(不同的本地主机号)。是否可以改用开放内核?
【解决方案5】:

在 C:\Users\my_username\Anaconda3\Scripts 文件夹中找到 jupter-notebook.exe。复制地址。当您打开 .ipnyb 文件时,双击(如果是第一次)或者只是在菜单中打开并在那里您可以勾选“始终使用此”选项并从菜单中的“查看更多程序”选项中找到笔记本.

【讨论】:

    【解决方案6】:

    对于那些在 Anaconda 中安装了 nbopen 但它不起作用的人:

    使用 Regedit 搜索名为 Jupyter.nbopen 的目录,然后导航到其 shell\open\command。它应该是这样的:

    HKEY_USERS\****\Software\Classes\Jupyter.nbopen\shell\open\command
    

    然后,将默认更改为:(如果您没有安装在默认位置,请修改路径)

    "C:\ProgramData\Anaconda3\pythonw.exe" "C:\ProgramData\Anaconda3\cwp.py" "C:\ProgramData\Anaconda3" "C:\ProgramData\Anaconda3\pythonw.exe" -m nbopen "%1"
    

    这背后的原因是cwp.py 确保 Jupyter 在 Anaconda 而不是其他 Python 环境中运行。

    那么它应该可以工作了,尽管它会激活两个在后台运行的不可见的 pythonw 进程。

    【讨论】:

    • 两年后,你是我的救星。非常感谢。
    【解决方案7】:

    只需查看您的文件目录并查找可以打开该文件类型的程序并将其设置为您的默认应用程序打开器,但您需要考虑到如果您想使用 Jupiter notebook,您可以运行jupyternotebook app并从 jupyter notebook 目录中找到该文件。

    其次,确保您已将 python.eex 添加到路径并直接从命令提示符运行。查看截图中的图片

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-05
      • 2015-05-12
      • 1970-01-01
      • 1970-01-01
      • 2021-01-02
      • 2018-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多