更新到 Spyder 4.1.4 后 Spyder 返回 TypeError
Posted
技术标签:
【中文标题】更新到 Spyder 4.1.4 后 Spyder 返回 TypeError【英文标题】:Spyder returning TypeError after updating to Spyder 4.1.4 【发布时间】:2020-12-23 14:40:04 【问题描述】:此命令未能执行,因为尝试从 Spyder 的编辑器获取文件代码时发生错误。错误是:
An exception has occurred, use %tb to see the full traceback.
TypeError: handle_get_file_code() got an unexpected keyword argument 'save_all'
【问题讨论】:
我在谷歌上找不到修复,所以我在这里问 奇怪的是,我从昨天开始就遇到了同样的错误,但没有升级到 4.1.4(我还在 4.1.3...)。也许它可以链接到spyder-kernels
,因为当我开始使用新的venv
时出现错误。
在github.com/spyder-ide/spyder/issues/13715查看开发者问题
【参考方案1】:
我在 Spyder 4.1.4 上遇到了同样的问题。我完全卸载了 spyder 并将其重新安装到最新版本(现在是 4.1.5),显然他们已经解决了这个版本中的潜在问题。因此,以下标准程序应该可以解决问题:
pip uninstall spyder
conda uninstall spyder
conda install spyder
我在 conda 环境中使用 spyder,因此我认为 pip uninstall
真的没有必要。
【讨论】:
这对我有用(没有 pip 卸载)。但是有人抱怨“环境不一致”,罪魁祸首是 defaults/win-64::python-language-server==0.31.10=py37_0。我选择忽略这一点,Spyder 4.1.5 已正确安装并正常工作。 在没有 pip 卸载的情况下为我工作。从 spyder-4.1.3-py37_0 + spyder-kernels-1.9.4-py37_0 到 spyder-4.1.5-py37_0 + spyder-kernels-1.9.4-py37_0。另请参阅 github.com/spyder-ide/spyder/issues/13715 上的开发人员问题【参考方案2】:问题似乎来自新版本的子包spyder-kernels
我已经卸载了 1.9.4 版
conda uninstall spyder-kernels
又回到了之前的版本
conda install spyder-kernels=1.9.3
【讨论】:
是的,当我开始使用新的venv
时,我遇到了错误,所以它肯定是spyder-kernels
但是我在降级后得到以下信息:Your Python environment or installation doesn't have the spyder‑kernels module or the right version of it installed (>= 1.9.4 and < 1.10.0). Without this module is not possible for Spyder to create a console for you.
@Vincent 您找到解决方案了吗?如果找到了,能否分享一下详细信息?
@brethvoice 抱歉,我找到了确切的问题,但似乎不记得了。绝对与 spyder 和 spyder-kernels 有关;卸载/重新安装将使您顺利完成
@brethvoice 我正在使用 Windows【参考方案3】:
我今天早上更新到 Spyder 4.1.4 并在尝试运行我的代码时遇到了同样的问题。值得注意的是,我使用 Anaconda,所以不确定这会对您产生什么影响。
我尝试恢复到旧版本的 Spyder 并通过 Anaconda Prompt 升级到 Spyder 4.1.5,但只有通过进入 Anaconda Navigator 并完全删除 Spyder 应用程序才能成功避免上述错误消息.然后我从 Anaconda Navigator 安装了 Spyder 4.1.5,并能够运行我的代码。
【讨论】:
【参考方案4】:我遇到了同样的问题。而是在卸载和重新安装时,打开 anaconda 提示符并运行
conda install spyder=4.1.5
关闭并重新打开 spyder 应用程序。您的算法将无缝运行。
【讨论】:
【参考方案5】:更新到 Spyder 版本 4.1.5 为我解决了这个问题。
【讨论】:
【参考方案6】:以下升级为我解决了这个问题:
conda install spyder=4.1.5
我在this thread底部找到了解决方法。
【讨论】:
@user3385948 您使用的是哪个操作系统(或者这无关紧要)? 我使用的是 Anaconda,安装在 Windows 10 Pro x64(最新版本)上【参考方案7】:是Spyder 4.14的bug,升级到V4.15,然后解决你的问题
【讨论】:
【参考方案8】:我必须在这里结合一些答案。
首先我删除了 spyder:
pip uninstall spyder
conda uninstall spyder
之后我再次安装它:
conda install spyder
第一部分基于@CrossEntropy 的回答。
此更改并未解决问题,但允许我按照@quangtrank9 的建议更新 spyder 到其最新版本 (4.1.5)。
此过程避免我删除并重新安装 anaconda。这将是一个不受欢迎的过程。
【讨论】:
在没有 pip 卸载的情况下为我工作。从 spyder-4.1.3-py37_0 + spyder-kernels-1.9.4-py37_0 到 spyder-4.1.5-py37_0 + spyder-kernels-1.9.4-py37_0。另请参阅github.com/spyder-ide/spyder/issues/13715 上的开发人员问题 我试过了,但没用,这就是为什么我必须卸载并重新安装。【参考方案9】:在尝试任何卸载之前,我尝试过
> conda install spyder=4.1.5
这些是相关的变化
The following packages will be UPDATED:
jedi 0.14.1-py37_0 --> 0.17.1-py37_0
python-language-s~ pkgs/main/win-64::python-language-ser~ --> pkgs/main/noarch::python-language-server-0.35.1-py_0
spyder 4.0.0-py37_0 --> 4.1.5-py37_0
The following packages will be DOWNGRADED:
autopep8 1.5.7-pyhd3eb1b0_0 --> 1.5.6-pyhd3eb1b0_0
flake8 3.9.2-pyhd3eb1b0_0 --> 3.9.0-pyhd3eb1b0_0
parso 0.8.2-pyhd3eb1b0_0 --> 0.7.0-py_0
pycodestyle 2.7.0-pyhd3eb1b0_0 --> 2.6.0-pyhd3eb1b0_0
pyflakes 2.3.1-pyhd3eb1b0_0 --> 2.2.0-pyhd3eb1b0_0
spyder-kernels 1.10.2-py37haa95532_0 --> 1.9.4-py37_0
特别注意将spyder-kernels
降级为1.9.4
。
这可能就是原因
> conda install spyder-kernels=1.9.4
还有seems to work。
注意: 一个包的更新会导致另一个包的降级,这对我来说仍然有些令人费解。 并不是说我从编程/技术的角度不理解这是如何发生的,但我不希望它发生(而且经常发生)。
【讨论】:
【参考方案10】:我必须结合此处提供的答案:
首先使用 pip 卸载spyder-kernels
:sudo pip3 uninstall spyder_kernels==1.9.4
使用 conda 卸载 spyder
:conda uninstall spyder
使用 conda 安装 spyder
:conda install spyder
【讨论】:
【参考方案11】:conda update --all 对我有用。
【讨论】:
【参考方案12】:我有同样的问题。按照这里讨论的内容:https://github.com/spyder-ide/spyder/issues/13715,我刚刚运行了命令:
conda install spyder-kernels=1.9.3
它成功了!
【讨论】:
【参考方案13】:更新:当遵循this 答案的建议时,我首先做了conda update conda
,然后是conda update --all
,正如this 答案中所建议的那样。以下是 conda env export
在我的 Windows 10 conda (Python 3.7) 环境中返回的部分列表,目前没有有这个问题:
- spyder=4.1.5=py37_0
- spyder-kernels=1.9.4=py37_0
【讨论】:
以上是关于更新到 Spyder 4.1.4 后 Spyder 返回 TypeError的主要内容,如果未能解决你的问题,请参考以下文章