![](/img/trans.png)
[英]"TypeError: '>' not supported between instances of 'int' and 'str'" in max
[英]NLTK TypeError: '<' not supported between instances of 'str' and 'int'
我有一段代码,前一段时间工作正常。
import nltk
import pickle
from nltk.tokenize import word_tokenize
from nltk.classify import ClassifierI
from statistics import mode
我已经正确安装了nltk,昨天我根本没有遇到这个问题。 据我所知,没有任何改变。
这是完整的堆栈跟踪,
Traceback (most recent call last):
File "C:\Users\student\Desktop\asd.py", line 1, in <module>
import nltk
File "C:\Users\student\AppData\Local\Programs\Python\Python36\lib\site-packages\nltk\__init__.py", line 128, in <module>
from nltk.chunk import *
File "C:\Users\student\AppData\Local\Programs\Python\Python36\lib\site-packages\nltk\chunk\__init__.py", line 157, in <module>
from nltk.chunk.api import ChunkParserI
File "C:\Users\student\AppData\Local\Programs\Python\Python36\lib\site-packages\nltk\chunk\api.py", line 13, in <module>
from nltk.parse import ParserI
File "C:\Users\student\AppData\Local\Programs\Python\Python36\lib\site-packages\nltk\parse\__init__.py", line 79, in <module>
from nltk.parse.transitionparser import TransitionParser
File "C:\Users\student\AppData\Local\Programs\Python\Python36\lib\site-packages\nltk\parse\transitionparser.py", line 21, in <module>
from sklearn.datasets import load_svmlight_file
File "C:\Users\student\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\__init__.py", line 57, in <module>
from .base import clone
File "C:\Users\student\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\base.py", line 12, in <module>
from .utils.fixes import signature
File "C:\Users\student\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\utils\__init__.py", line 11, in <module>
from .validation import (as_float_array,
File "C:\Users\student\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\utils\validation.py", line 18, in <module>
from ..utils.fixes import signature
File "C:\Users\student\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\utils\fixes.py", line 406, in <module>
if np_version < (1, 12, 0):
TypeError: '<' not supported between instances of 'str' and 'int'
我最好的猜测是np_version
(在堆栈跟踪底部引用的值)已经以某种方式损坏,现在是字符串的元组或其他不是int的元组的数据类型,这就是代码所比较的if np_version < (1, 12, 0):
我建议重新安装nltk
,尽管这可能不是确定的解决方案。 可能发生版本不匹配的情况,其中较新的版本使用字符串元组存储版本号。 如果是这样,尝试安装旧版本的nltk
可能是一个好主意,尽管重新安装可能会解决此问题。 希望这可以帮助!
看起来您已经以某种方式以numpy
版本1.11.2rc1
。 Scikit的fixes.py
将其转换为三元组(1, 11, '2rc1')
,结果不可避免。
由于当前版本为1.12.1,因此我认为解决方案是显而易见的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.