2016-12-27 56 views
21
Mac OS X 10.7.5 üzerinde Python 3.6 ile kullanmak için NLTK 3.0 indirmek için çalışıyorum, ancak bir SSL hatası alıyorum

: Ben NLTK indirilenSSL hata

import nltk 
nltk.download() 

enter image description here

Bir pip3 komutuyla: sudo pip3 install -U nltk. NLTK downloader içinde endeksi değiştirme

indirici NLTK tüm dosyalarını gösterilmesini sağlar, fakat bir bütün indirmeye çalıştığında, birbirini SSL hatası (fotoğrafın altına bakın) alır:

enter image description here

Bilgisayar bilimi için nispeten yeniyim ve SSL ile ilgili hiç de bilgili değilim.

Sorum, yalnızca bu sorunu nasıl çözecek? bu diğer soruya benim düzenleme reddedildi beri

Unable to download nltk data

Ben ekran görüntüleri ile yeni bir soru sonrası karar: Burada


aynı sorun yaşıyor bir kullanıcı tarafından benzer bir sorudur . Ben yararlı bulamadık

Benzer sorular:

NLTK download SSL: Certificate verify failed

downloading error using nltk.download()

cevap

41

Sen şu terminali komutunu çalıştırırsanız SSL denetimi devre dışı bırakmak gerekmez:

/Applications/Python 3.6/Install Certificates.command 

3.6 yerine, o kimse bir daha erken olursa Python sürümünü koydu. O zaman, tercümanınıza başarılı bir şekilde nltk.download()'u çalıştırabilmelisiniz.

Bu, urllib'un sistem sertifika deposunda olmayan yerleşik bir OpenSSL sürümü kullandığı bir sorundur. Olanlar hakkında daha fazla bilgi ile Here's an answer.

+1

üzerinde bir sihirbaz gibi çalışır. Not: yine de bu adımdan sonra 'nltk.download()' ı çalıştırmanız gerekir. –

+0

Bu kabul edilen cevap olmalı. Teşekkür ederim – Dany

+1

@Dany Katılıyorum. Cevabımı güncelledi. –

35

@doctorBroctor tarafından cevabına bakınız. Kullanmak daha doğru ve güvenlidir. Başka bir şey için yararlı olabileceğinden aşağıya cevap bırakmak.

https://stackoverflow.com/a/42890688/1167890


Bu SSL denetimini devre dışı bırakarak çalışacak

.

import nltk 
import ssl 

try: 
    _create_unverified_https_context = ssl._create_unverified_context 
except AttributeError: 
    pass 
else: 
    ssl._create_default_https_context = _create_unverified_https_context 

nltk.download() 
+1

Sadece bir kafa yukarı, panlex_lite oldukça büyük, bu yüzden donmuş görünebilir. Herhangi bir hata için konsolunuzu kontrol edin. –

+1

Ayrıca biraz buggy, bu yüzden başarısız olursa, kalan paketleri tek tek indirmeyi deneyin. Veya başarısız bir dosyayı ~/ntlk_data klasöründen (zip + klasörü) silin ve yeniden deneyin. –

+0

Bu işe yaradı (işaret ettiğin gibi, panlex_lite hariç)! Sonsuz teşekkürler. Anlatabilir misin * kısaca * neden hatayı alıyorum ve kodun ne yapıyor?Dosyaların GitHub konumuna erişmemi engelleyen bir çeşit SSL güvenliğini atlatıyor sanırım? –