2016-08-02 21 views
6
import nltk 
nltk.download() 

Pokazuje [SSL:CERTIFICATE_VERIFY_FAILED]. W przypadku requests można użyć verify=False, ale co tu zrobić.Nie można pobrać danych nltk

UPDATE:

Ten błąd będzie się powtarzał na Python 3.6, z NLTK 3.0, Mac OS X 10.7.5:

enter image description here

Zmiana indeksu w downloader NLTK (sugerowana here) pozwala program pobierający, aby wyświetlić wszystkie pliki NLTK, ale gdy ktoś spróbuje pobrać wszystko, otrzymuje kolejny błąd SSL (patrz dół zdjęcia):

enter image description here

+0

Czy na pewno używasz najbardziej zaktualizowaną wersję NLTK i może spróbować nltk.download („all”) – SAMO

+2

nie zrobił pracować –

+0

http://stackoverflow.com/a/37053858/1168680 – RAVI

Odpowiedz

0

OK, to trochę hack, ale oto, co musiałem zrobić, aby móc korzystać z różnych plików danych NLTK w Pythonie 3.x na moim laptopie Mac (z systemem macOS 10.12.2).

Po pierwsze, zauważ, że błąd certyfikatu występuje tylko wtedy, gdy próbuję pobrać dane NLTK za pomocą Pythona 3.x na moim Macu (moja maszyna wirtualna Ubuntu w VirtualBox nie miała takiego błędu podczas używania Pythona 3.x - co jest denerwujące) . To, dlaczego powoduje to błąd na moim Macu, jest poza mną, zwłaszcza, że ​​moduł NLTK instaluje się w Pythonie 3.x, używając pip bez żadnych problemów. Jest to połączenie z serwerem pobierania NLTK, który wydaje się powodować problem z weryfikacją SSL.

Moje "ah ha!" Moment, kiedy zorientowałem się, że NLTK - po zainstalowaniu w Pythonie 3.x lub Pythonie 2.x - ma tę samą strukturę katalogów spośród wszystkich wersji Pythona zainstalowanych na dowolnym komputerze. Tak więc użyłem Pythona 2.x, który jest fabrycznie zainstalowany na macOSie, aby zainstalować NLTK, a następnie użył nltk.download() w Pythonie 2.x, aby zainstalować korpus korpuskularny bez żadnych problemów. Uczyniwszy to (w Pythonie 2.x), I wtedy wrócił do Python 3.x, i ten kod działa:

import nltk 
from nltk.corpus import stopwords 
print(stopwords.words('english')) 

Jak powiedziałem, jest to bit hack, ale ta technika pozwala mi dane NLTK zainstalowane za pomocą Pythona 2.x, które mogę następnie przetworzyć w Pythonie 3.x zgodnie z wymaganiami.

0

(Dodanie „Świadectwo sprawdzenia uszkodzonego _ssl.c: 749”. SEO tej kwestii)

rozwiązać dla mnie na Mac, 10.12.2 za pomocą końcówki Pawła Barry'ego pobierania poprzez Pythonie 2.7 (mogę” t komentarz bo rep < 50)

Dodatkowe problemy napotkane i naprawiono: aby móc pobrać NLTK poprzez python 2.7 (domyślny Mac Pythona 2.7 setup) miałem również dodać folder Pythona do /.bash_profile jak pokazuje this comment.

Następnie, ponieważ ustawiłem tę zmienną ścieżki na 2.7, musiałem usunąć ją po pobraniu ciał, aby móc uruchomić python3. Więc usuń go z /.bash_profile przed uruchomieniem python3.

Po tym wszystkim mogę uruchomić "import nltk" i "from nltk.book import *" bez problemów.

7

Miałem ten sam problem podczas próby skonfigurowania zarówno nltk, jak i SpaCy. Zgodnie z instrukcjami w this question, udało mi się przezwyciężyć problem. Spróbuj uruchomić /Applications/Python\ 3.6/Install\ Certificates.command, a następnie ponowić swoją NLTK pobieranie

1

na MacOS 10.12.6 ten został rozwiązany przez wpisując w terminalu bash

pip install certifi 
/Applications/Python\ 3.6/Install\ Certificates.command 

zwykły sposób instalowania NLTK korpusów następnie pracował dla mnie

import nltk 
nltk.download() 
Powiązane problemy