TypeError:模块中缺少必填字段“type_忽略”

2024-09-29 23:31:06 发布

您现在位置:Python中文网/ 问答频道 /正文

注意:我已经阅读了Python: TypeError: required field "type_ignores" missing from Module in Jupyter notebook,其中包含一个类似的问题。然而,我仍然被困住了

问题:我刚刚从Python3.7.5更新到Python3.8.5。但是,当我在Jupyter笔记本中运行代码时,会显示以下错误消息:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/usr/local/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/codeop.py in __call__(self, source, filename, symbol)
    139 
    140     def __call__(self, source, filename, symbol):
--> 141         codeob = compile(source, filename, symbol, self.flags, 1)
    142         for feature in _features:
    143             if codeob.co_flags & feature.compiler_flag:

TypeError: required field "type_ignores" missing from Module

当我像这样运行代码时,会收到此消息

i = 1

或者像代码一样

import numpy as np

或者像代码一样

from platform import python_version

print(python_version()) 

我读过Python: TypeError: required field "type_ignores" missing from Module in Jupyter notebook,其中包含一个类似的问题。然而,这个问题中的海报有一个过时的ipython版本。我做了一个测试

pip freeze

发现我有最新的版本(7.2.0),这意味着这个问题的解决方案不适用于这个问题

如果您需要,以下是一些额外信息:

我尝试的内容:我首先尝试从Python3.8恢复到Python3.7。这是因为错误消息提到错误来自/usr/local/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/codeop.py我试图通过再次下载pyenv和python3.7来实现这一点(我以前有python3.7,但它已经消失了)并通过配置.zshenv文件将python版本设置为3.7.5。然而,这导致jupyter笔记本电脑,甚至像emacs这样的程序停止处理诸如

command not found: jupyter

command not found: emacs

最后,我从python网站下载了python 3.7.5 pkg文件:

python --version

输出:

Python 3.7.5

然而,当我启动Jupyter笔记本时,我仍然会收到与之前相同的错误(“TypeError:RequiredField”type_忽略“missing from Module”)。我担心安装Python3.8会造成一些永久性的损坏

这是我的.zshenv文件配置:

export SACAUX=SACHOME/aux
export SACHOME=/usr/local/sac
export PATH=${PATH}:${SACHOME}/bin
export PATH=SACHOME/bin
export PATH=/usr/bin:/bin:/usr/sbin:/sbin:SACHOME/bin
export PATH=/usr/bin:/bin:/usr/sbin:/sbin:SACHOME/bin:HOME/.pyenv/bin
export PATH=~/.pyenv/versions/3.7.5/bin:${PATH}
export PYTHONPATH=/usr/local/lib/python3.7/site-packages

仅供参考,(如果这有用的话),我需要的所有包(tensorflow、numpy、scipy)都在/usr/local/lib/python3.7/site-packages中,这是一个python 3.7文件夹,因此我必须显式地将PYTHONPATH设置为/usr/local/lib/python3.7/site-packages,以便python可以找到要导入的包

解决这个“TypeError:RequiredField”类型的问题有哪些修复方法?类型_忽略了“missing from Module”


Tags: path代码infrombinlibusrlocal
2条回答

我并不是想重提一个死板的问题,但我看到最近有人发表评论要求回答这个问题,这是搜索这个问题时的最高结果

我有这个问题,显然这是旧版本中Werkzeug包实现的问题,我通过使用pip将其从版本0.15.4更新到1.0.1来修复它:

pip install werkzeug  upgrade

这会解决你的问题;如果您想知道您使用的是哪个版本,请启动terminal,并使用命令python启动Python交互式终端:

import werkzeug
werkzeug.__version__

尝试用werkzeug更新修复它,但它不起作用。在ubuntu 20.04.2上

为我不确定正在使用的包找到这个issue,但提到了更新iPython

pip3 install ipython  upgrade

然后它更新了一些python包,但没有更新其他包。现在它似乎起作用了

相关问题 更多 >

    热门问题