2017-10-07 2 views
2

ich mit gerade installiert Python: Gebräu python3 installierenSSL-Fehler nach dem Gebräu installieren python3

Ich lief dann PIP3 virtualenv

installieren habe ich diesen Fehler: pip mit Standorten konfiguriert ist, die TLS/SSL erfordern Allerdings ist das SSL-Modul in Python nicht verfügbar. Sammeln von virtualenv URL konnte nicht abgerufen werden https://pypi.python.org/simple/virtualenv/: Beim Bestätigen des SSL-Zertifikats ist ein Fehler aufgetreten: Verbindung mit HTTPS-URL kann nicht hergestellt werden, da das SSL-Modul nicht verfügbar ist. - skipping Konnte keine Version finden, die der Anforderung entspricht virtualev (von Versionen:) Keine passende Verteilung gefunden für virtualenv

Wie behebe ich den SSL-Fehler?

+1

Sie sicher, dass Sie laufen die PIP3, die mit Ihrem Gebräu installierten python3 kam? Überprüfen Sie die Position von pip3, python3 usw. – pvg

+0

Bitte beachten Sie: https://stackoverflow.com/questions/41489439/pip3-instal-inside-virtual-environment-with-python3-6-failing-due-to-ssl- modul/42798679 – alexisdevarennes

+0

@pvg Ich überprüfte python3 ist hier: sys.path = [ '/ Users/bootadmin', '/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6 /lib/python36.zip ', ' /usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6 ', '/usr/local/Cellar/python3 /3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload ', ' /usr/local/lib/python3.6/site-packages ', '/usr/local /Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages ', ] Ich war mir nicht sicher, wie ich das pip3-Verzeichnis finden konnte –

Antwort

0

Scheint Brew übersprang die Zertifizierung Schritt.

Von meiner lokalen Installation kopiert, führt dies den zertifizierten Installationsschritt aus.

brew install openssl 
ln -s /usr/local/Cellar/openssl/{version}/include/openssl /usr/bin/openssl 
pip install certifi 

Dann folgt ausführen:

# install_certifi.py 
# 
# sample script to install or update a set of default Root Certificates 
# for the ssl module. Uses the certificates provided by the certifi package: 
#  https://pypi.python.org/pypi/certifi 

import os 
import os.path 
import ssl 
import stat 
import subprocess 
import sys 

STAT_0o775 = (stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR 
      | stat.S_IRGRP | stat.S_IWGRP | stat.S_IXGRP 
      | stat.S_IROTH |    stat.S_IXOTH) 


def main(): 
    openssl_dir, openssl_cafile = os.path.split(
     ssl.get_default_verify_paths().openssl_cafile) 

    print(" -- pip install --upgrade certifi") 
    subprocess.check_call([sys.executable, 
     "-E", "-s", "-m", "pip", "install", "--upgrade", "certifi"]) 

    import certifi 

    # change working directory to the default SSL directory 
    os.chdir(openssl_dir) 
    relpath_to_certifi_cafile = os.path.relpath(certifi.where()) 
    print(" -- removing any existing file or link") 
    try: 
     os.remove(openssl_cafile) 
    except FileNotFoundError: 
     pass 
    print(" -- creating symlink to certifi certificate bundle") 
    os.symlink(relpath_to_certifi_cafile, openssl_cafile) 
    print(" -- setting permissions") 
    os.chmod(openssl_cafile, STAT_0o775) 
    print(" -- update complete") 

if __name__ == '__main__': 
    main() 
+0

lief ich diesen Code und habe diesen Fehler: f: Programmierung bootadmin $ python3 test.py Traceback (jüngste Aufforderung zuletzt): File "test.py", Zeile 9, in Import ssl Datei „/ usr /local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py ", Zeile 101, in import _ssl # Wenn wir es nicht importieren können, lassen Der Fehler propagiere ImportError: dlopen (/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload/_ssl.cpython-36m-darwin.so , 2): Bibliothek nicht geladen: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib –

+0

Welcher Fehler? hast du pip install certifi und brew install openssl ausgeführt? – alexisdevarennes

+0

Yup run brauen installieren openssl :) – alexisdevarennes

Verwandte Themen