pip kurulumu "bağlantı hatası ile başarısız oluyor: [SSL: CERTIFICATE_VERIFY_FAILED] sertifika doğrulama başarısız oldu (_ssl.c:598)"

Python'da çok yeniyim ve Windows 7 üzerinde > pip install linkchecker kurmaya çalışıyorum. Bazı notlar:

  • pip kurulumu paket ne olursa olsun başarısız oluyor. Örneğin, > pip install scrapy de SSL hatası ile sonuçlanır.
  • Python 3.4.1'in vanilya kurulumu pip 1.5.6'yı içeriyordu. Yapmaya çalıştığım ilk şey linkchecker'ı yüklemekti. Python 2.7 zaten kuruluydu, ArcGIS ile birlikte geliyordu. Ben 3.4.1'i yükleyene kadar python ve pip komut satırından kullanılamıyordu.
  • > pip search linkchecker çalışıyor. Belki de bunun nedeni pip search`ün sitenin SSL sertifikasını doğrulamamasıdır.
  • Bir şirket ağındayım ama internete ulaşmak için bir proxy'den geçmiyoruz.
  • Her şirket bilgisayarında (benimki de dahil), TLS trafiğinin https://google.com adresinden izlenmesini sağlamak da dahil olmak üzere çeşitli nedenlerle kullanılan bir Güvenilir Kök Sertifika Yetkilisi var. Bununla bir ilgisi olup olmadığından emin değilim.

İşte pip install linkcheckerı çalıştırdıktan sonra pip.log dosyamın içeriği:

Downloading/unpacking linkchecker
  Getting page https://pypi.python.org/simple/linkchecker/
  Could not fetch URL https://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
  Will skip URL https://pypi.python.org/simple/linkchecker/ when looking for download links for linkchecker
  Getting page https://pypi.python.org/simple/
  Could not fetch URL https://pypi.python.org/simple/: connection error: HTTPSConnectionPool(host='pypi.python.org', port=443): Max retries exceeded with url: /simple/ (Caused by <class 'http.client.CannotSendRequest'>: Request-sent)
  Will skip URL https://pypi.python.org/simple/ when looking for download links for linkchecker
  Cannot fetch index base URL https://pypi.python.org/simple/
  URLs to search for versions for linkchecker:
  * https://pypi.python.org/simple/linkchecker/
  Getting page https://pypi.python.org/simple/linkchecker/
  Could not fetch URL https://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
  Will skip URL https://pypi.python.org/simple/linkchecker/ when looking for download links for linkchecker
  Could not find any downloads that satisfy the requirement linkchecker
Cleaning up...
  Removing temporary dir C:\Users\jcook\AppData\Local\Temp\pip_build_jcook...
No distributions at all found for linkchecker
Exception information:
Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\pip\basecommand.py", line 122, in main
    status = self.run(options, args)
  File "C:\Python34\lib\site-packages\pip\commands\install.py", line 278, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "C:\Python34\lib\site-packages\pip\req.py", line 1177, in prepare_files
    url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
  File "C:\Python34\lib\site-packages\pip\index.py", line 277, in find_requirement
    raise DistributionNotFound('No distributions at all found for %s' % req)
pip.exceptions.DistributionNotFound: No distributions at all found for linkchecker

Bu param ile bir sertifika belirtebilirsiniz:

pip --cert /etc/ssl/certs/FOO_Root_CA.pem install linkchecker

Bak: Dokümanlar » Referans Kılavuzu » pip

Şirketinizin kök sertifikasını belirtmek işe yaramazsa, belki cURL sertifikası işe yarayabilir: http://curl.haxx.se/ca/cacert.pem

CRT dosyası değil, PEM dosyası kullanmalısınız. CRT dosyanız varsa dosyayı PEM'e dönüştürmeniz Yorumlarda bunun artık bir CRT dosyasıyla çalıştığına dair raporlar var, ancak doğrulamadım.

Ayrıca kontrol edin: SSL Sertifika Doğrulaması.

Yorumlar (11)

SSL hatasını https yerine http kullanarak atlatmayı deneyebilirsiniz. Elbette bu güvenlik açısından optimal değildir, ancak aceleniz varsa işinizi görecektir:

pip install --index-url=http://pypi.python.org/simple/ linkchecker
Yorumlar (9)

Bu sorunu pip'imi kaldırıp pip'in eski sürümünü yükleyerek çözdüm: https://pypi.python.org/pypi/pip/1.2.1

Yorumlar (5)