2017-04-14 16 views
6

Próbuję uruchomić następującą komendępyton ntlk donwload daje parsera eror

import nltk 
nltk.download('all') 

Ale ja dostaję ten błąd

Traceback (most recent call last): 
    File "./update.py", line 3, in <module> 
    nltk.download('all') 
    File "/usr/lib/python3.6/site-packages/nltk/downloader.py", line 664, in download 
    for msg in self.incr_download(info_or_id, download_dir, force): 
    File "/usr/lib/python3.6/site-packages/nltk/downloader.py", line 534, in incr_download 
    try: info = self._info_or_id(info_or_id) 
    File "/usr/lib/python3.6/site-packages/nltk/downloader.py", line 508, in _info_or_id 
    return self.info(info_or_id) 
    File "/usr/lib/python3.6/site-packages/nltk/downloader.py", line 875, in info 
    self._update_index() 
    File "/usr/lib/python3.6/site-packages/nltk/downloader.py", line 825, in _update_index 
    ElementTree.parse(compat.urlopen(self._url)).getroot()) 
    File "/usr/lib/python3.6/xml/etree/ElementTree.py", line 1196, in parse 
    tree.parse(source, parser) 
    File "/usr/lib/python3.6/xml/etree/ElementTree.py", line 597, in parse 
    self._root = parser._parse_whole(source) 
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 23, column 143 

Jestem nowy python, więc nie jestem pewien, co czy powinnam. Sprawdziłem moduł źródłowy podany powyżej i zauważyłem, że próbuje on pobrać plik xml. Więc uruchomiłem polecenie poniżej i nie dałem mi żadnego błędu.

compat.urlopen('https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/index.xml') 

Zakładam więc, że nie ma problemu z pobieraniem, ale w analizatorze składni. Czy ktoś może zasugerować, jak przejść dalej?

+0

sam problem tutaj – Bart

+0

ja też mam ten problem –

+0

zaczęło się dziać kilka dni temu ze mną – silentser

Odpowiedz

1

Problem dotyczy kodu XML, który zwrócił plik NLTK.

xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 23, column 143 

Na 23: 143 widzimy problemu, brakujący '=':

... unzip="1" unzipped_size"1917" url="https... 

NTLK pewnością rozwiązać ten problem szybko, dopóki to nie jestem pewien, co jest najlepszą odpowiedzią.

6

index.xml miał literówkę. Jest już załatany. Właśnie sprawdziłem i nltk.download('all') działa dobrze!

patrz: nltk/nltk_data#70

+0

Tak to teraz działa bez zarzutu .. Dzięki – user3602300