Jupyter笔记本在Windows 10上出现错误

5

问题:

Jupyter 无法保存和创建(我想象中的删除)任何文件类型。但我可以正常加载它们。

创建文件的示例

创建文件失败,创建新文件时出现错误。

'''在保存文件 'untitled.txt' 时发生意外错误:[Errno 2] 没有这样的文件或目录: 'C:\ Users \ me \ Documents \ jupyter_notebooks \ untitled.txt' '''

保存文件的示例

C:\WINDOWS\system32>jupyter notebook
[I 17:15:51.888 NotebookApp] JupyterLab beta preview extension loaded from c:\users\me\appdata\local\programs\python\python35\lib\site-packages\jupyterlab
[I 17:15:51.888 NotebookApp] JupyterLab application directory is c:\users\me\appdata\local\programs\python\python35\share\jupyter\lab
[I 17:15:52.091 NotebookApp] Serving notebooks from local directory: C:\Users\me\Documents\jupyter_notebooks
[I 17:15:52.091 NotebookApp] 0 active kernels
[I 17:15:52.091 NotebookApp] The Jupyter Notebook is running at:
[I 17:15:52.091 NotebookApp] http://localhost:8888/?token=*******************************01d1a67a61
[I 17:15:52.091 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 17:15:52.127 NotebookApp]

    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
        http://localhost:8888/?token=*******************************01d1a67a61
[I 17:15:52.472 NotebookApp] Accepting one-time-token-authenticated connection from ::1
[I 17:16:01.628 NotebookApp] Kernel started: 77255bad-ad7a-4714-8221-1dd90a3a34b5
[W 17:16:11.656 NotebookApp] Timeout waiting for kernel_info reply from 77255bad-ad7a-4714-8221-1dd90a3a34b5
[I 17:16:25.646 NotebookApp] Adapting to protocol v5.0 for kernel 77255bad-ad7a-4714-8221-1dd90a3a34b5
[I 17:16:26.160 NotebookApp] Saving file at /jupyter_jupyter_lab.ipynb
[E 17:16:26.543 NotebookApp] Error while saving file: jupyter_jupyter_lab.ipynb [Errno 2] No such file or directory: 'C:\\Users\\me\\Documents\\jupyter_notebooks\\.~jupyter_jupyter_lab.ipynb'

尝试过:问题仍然存在。

我仔细检查了文件夹位置,它匹配

C:\Users\me\Documents\jupyter_notebooks

我还尝试了:安装和运行,可以打开和读取,但不允许进行任何更改。

pip3 install --upgrade --force-reinstall --no-cache-dir jupyter
~ https://dev59.com/uVgQ5IYBdhLWcg3wg0PS#42667069

系统:

  • Windows 10
  • Python环境: 2.7 & 3.5
  • 包管理器: pip / pip3

可能的贡献因素: 两天前做了一些系统更改,从那时起问题就出现了。我认为这是一个权限问题。我记得取消了一个"执行脚本的权限复选框",但它似乎只影响了Jupyter。

不可接受的解决方案:

"尝试使用Anaconda","重新安装Windows" - 系统运行良好,除了Jupyter无法进行更改。

提前感谢您的帮助。

~eb


这并不是一个真正的解决方案,但如果您使用管理员权限启动Jupyter,并且它开始正常工作,那么肯定是权限问题。 - Niayesh Isky
1
我按照你的建议尝试了(https://dev59.com/dKDia4cB1Zd3GeqPHat5#43248254),但仍然遇到相似的问题。谢谢! - Enrique Bruzual
非常奇怪!似乎Jupyter不喜欢处理其目录之外的文件,这绝对不是通常的行为。我认为可能是JupyterLab的问题,但无论如何,现在最好是在“Scripts”文件夹中创建一个笔记本文件夹,并在其他地方放置一个快捷方式以方便使用。 - Niayesh Isky
1
@NiayeshIsky 不是很确定,正如我在原帖中提到的,几天前一切都运行得很好(包括JupyterLab)。我正在寻找一个全局解决方案。我更倾向于认为这是一个全局变量或权限问题,就像你在其他帖子中评论和提到的那样,大多数都是Linux问题。我将尝试修改新的配置文件,到我的笔记本目录[不抱希望],但这是合乎逻辑的做法。 - Enrique Bruzual
一种临时解决方法是下载笔记本:文件 -> 另存为 -> 笔记本(.ipnb),然后将文件移动到所需位置。 - Niko Pasanen
显示剩余3条评论
5个回答

12

我是这个问题的作者...

问题出在权限上,正如我之前提到的,我修改了系统,但无法记住我做了什么来防止Jupyter Notebook像以前一样工作。我花了三天的时间研究这个问题,但找不到答案,最终很沮丧地发布了这个问题。经过几位用户的评论和建议,我能够更好地查看问题并尝试几种不同的方法。

我在"Windows Defender Security Center"中启用了一个功能,防止Jupyter像以前一样工作,阻止我在不同位置(特别是“文档”文件夹)运行Notebooks

如果发生这种情况:

  1. 进入 "Windows Defender Security Center"
  2. 滚动并单击 "病毒和威胁防护设置"
  3. 向下滚动到 "受控文件夹访问"
  4. 确保其为禁用

这是我寻找的"全局"解决方案

应该可以解决类似的问题

~ eb


我很高兴你找到了它! - Niayesh Isky
你真的帮了我很多。在Win10 Pro上我没有这样的问题。然而,当我在Win10企业版上工作时,就会出现这样的问题。 - Travis
1
我很高兴它对你有用,而在我的情况下,我是因为疏忽而做出了更改,我已经忘记了我所做的事情。但是一旦我找到了答案并进行了更新,我就不再需要担心它了。 - Enrique Bruzual
谢谢您的建议。如果从受控文件夹访问的文件夹列表中删除Jupyter笔记本存在的文件夹,则足够了。或者,您可以将Python、Jupiter和Notebook添加到允许进行更改的程序列表中。 - senna_ananth
1
这些设置已经不存在,截至2021年。 - user16341274

3

如果您的操作系统是Windows10,则可能需要按照以下步骤进行操作:

  1. 鼠标右键单击"Anaconda Navigator"图标
  2. 弹出"Anaconda Navigator"图标属性
  3. 点击"详细属性"
  4. 在"选择此快捷方式的高级属性"文本中,勾选标有"以管理员身份运行"的复选框,并保存。

2
如恩里克·布鲁苏亚尔所提到的,这种行为可能是由于在Windows Defender安全中心启用了"受控文件夹访问"引起的。禁用它可以解决问题。
如果您想保留"受控文件夹访问"的启用状态,请按照恩里克的步骤1-3操作,我在此引用如下:
  1. 进入"Windows Defender 安全中心"
  2. 滚动并单击"病毒和威胁防护设置"
  3. 向下滚动到"受控文件夹访问"
然后:
  1. 单击"通过受控文件夹访问允许应用程序"。
  2. 单击"添加允许的应用程序",选择您的python.exejupyter.exejupyter-notebook.exe文件。您可以在主Python安装目录中找到python.exe文件,而其他两个文件位于主Python安装目录的"Scripts"子目录中。
  3. 如果更改时正在运行jupyter,请重新启动它。
您必须逐个添加文件,因此需要点击多次。 在执行此操作后,我能够毫无问题地保存我的jupyter笔记本。 注意:如果您同时安装了Python 2和3,则必须针对每个Python安装执行此操作。

0

-2
你是使用Windows命令提示符还是Anaconda Bash提示符? 你可以使用Windows命令提示符进入conda环境,但它不会让你创建新的笔记本。 如果你从程序菜单中进入“anaconda prompt”并进入“bash”,你就可以获得权限。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接