Είμαι πολύ νέος στην Python και προσπαθώ να > pip install linkchecker
στα Windows 7. Ορισμένες σημειώσεις:
> pip install scrapy
οδηγεί επίσης στο σφάλμα SSL.python
και pip
δεν ήταν διαθέσιμα από τη γραμμή εντολών μέχρι να εγκαταστήσω την 3.4.1.> pip search linkchecker
λειτουργεί. Ίσως αυτό οφείλεται στο γεγονός ότι η pip search δεν επαληθεύει το πιστοποιητικό SSL του ιστότοπου's.Ακολουθούν τα περιεχόμενα του αρχείου pip.log μετά την εκτέλεση του pip install linkchecker
:
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
Μπορείτε να καθορίσετε ένα πιστοποιητικό με αυτή την παράμετρο:
pip --cert /etc/ssl/certs/FOO_Root_CA.pem install linkchecker
Βλέπε: Έγγραφα » Οδηγός αναφοράς » pip
Αν ο προσδιορισμός του root cert της εταιρείας σας δεν λειτουργεί, ίσως λειτουργήσει το cURL: http://curl.haxx.se/ca/cacert.pem
Πρέπει να χρησιμοποιήσετε ένα αρχείο PEM και όχι ένα αρχείο CRT. Αν έχετε αρχείο CRT θα πρέπει να μετατρέψετε το αρχείο σε PEM Υπάρχουν αναφορές στα σχόλια ότι αυτό λειτουργεί τώρα με αρχείο CRT, αλλά δεν το έχω επαληθεύσει.
Ελέγξτε επίσης: SSL Cert Verification.
Μπορείτε να προσπαθήσετε να παρακάμψετε το σφάλμα SSL χρησιμοποιώντας http αντί για https. Φυσικά, αυτό δεν είναι βέλτιστο από άποψη ασφάλειας, αλλά αν βιάζεστε, θα πρέπει να κάνει το κόλπο:
pip install --index-url=http://pypi.python.org/simple/ linkchecker
Έλυσα αυτό το πρόβλημα αφαιρώντας το pip μου και εγκαθιστώντας την παλαιότερη έκδοση του pip: https://pypi.python.org/pypi/pip/1.2.1