在 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 anaconda
和 conda 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(Anaconda)的IPython控制台中没有输出
spyder中python 3的ipython控制台上的变量问题