在 Spyder 的 IPython 控制台中启动内核时出现 PermissionError

Posted

技术标签:

【中文标题】在 Spyder 的 IPython 控制台中启动内核时出现 PermissionError【英文标题】:PermissionError while starting the kernel in Spyder's IPython console 【发布时间】:2020-04-16 21:59:58 【问题描述】:

当我启动spyder 时,出现此错误:

Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site‑packages\spyder\plugins\ipythonconsole.py", line 1572, in create_kernel_manager_and_kernel_client
kernel_manager.start_kernel(stderr=stderr_handle)
File "C:\ProgramData\Anaconda3\lib\site‑packages\jupyter_client\manager.py", line 240, in start_kernel
self.write_connection_file()
File "C:\ProgramData\Anaconda3\lib\site‑packages\jupyter_client\connect.py", line 547, in write_connection_file
kernel_name=self.kernel_name
File "C:\ProgramData\Anaconda3\lib\site‑packages\jupyter_client\connect.py", line 212, in write_connection_file
with secure_write(fname) as f:
File "C:\ProgramData\Anaconda3\lib\contextlib.py", line 112, in __enter__
return next(self.gen)
File "C:\ProgramData\Anaconda3\lib\site‑packages\jupyter_client\connect.py", line 102, in secure_write
with os.fdopen(os.open(fname, open_flag, 0o600), mode) as f:
PermissionError: [Errno 13] Permission denied: 'C:\\Users\\Sébastien\\AppData\\Roaming\\jupyter\\runtime\\kernel‑e1f2b044843b.json'

我在编程方面完全没有经验,但我尝试在 Anaconda 提示符中输入命令,但这些都不起作用("conda update jupyter_client""conda update --all") 我也尝试安装和卸载,但仍然出现同样的错误。

【问题讨论】:

这似乎是一个权限问题。您可以通过右键单击图标并以管理员身份运行以管理员身份执行 Anaconda-Navigator(我假设这是您正在使用的)吗?我还尝试让您的用户完全访问此文件夹及其子文件夹 `C:\Users\Sébastien` 我可以作为管理员运行 Anaconda-Navigator,但我没有使用它。我只想使用 spyder 对其进行编程。我的文件夹似乎也有完整的访问权限。 你尝试过以管理员身份运行 Spyder 吗?如果是这样,您是否也遇到过同样的错误? 我刚试了,错误不再显示了! 太棒了,请确认下面的答案,以便新用户从中受益。 【参考方案1】:

这似乎是一个权限问题。以管理员身份运行 Spyder(右键单击它-> 以管理员身份运行)可以解决问题。

更新: 根据@CarlosCordoba:“要解决此问题,OP 需要在 Anaconda Prompt 中运行 conda update anacondaconda update jupyter_client

请注意,在这种情况下,最初的解决方法同样有效。

【讨论】:

这里是 Spyder 维护者)这是错误的。要解决此问题,OP 需要在 Anaconda Prompt 中运行 conda update anaconda,然后运行 ​​conda update jupyter_client 我刚刚尝试在 Anaconda Prompt 中运行这些命令,但 Spyder 仍然显示错误。此外,在我运行这两个命令后,Anaconda Prompt 显示一个长文本,其中包含:“InvalidArchiveError”。【参考方案2】:

对我有帮助的是允许不安全的写入:

yourPythonPath\scripts\activate.bat
set JUPYTER_ALLOW_INSECURE_WRITES=1
spyder

或者,您也可以在全局 Windows 环境变量中将 JUPYTER_ALLOW_INSECURE_WRITES 设置为 1。

【讨论】:

以上是关于在 Spyder 的 IPython 控制台中启动内核时出现 PermissionError的主要内容,如果未能解决你的问题,请参考以下文章

Spyder IDE 中的 iPython 控制台挂起任何代码执行

如何清除 Spyder 中的 iPython 控制台?

Spyder(Anaconda)的IPython控制台中没有输出

spyder中python 3的ipython控制台上的变量问题

如何将ipython添加入spyder的python console中

改为使用 IPython 和 Spyder 复制 jupyter HTML 输出