簡體   English   中英

NLTK TypeError:'str'和'int'的實例之間不支持'<'

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM