Używanie żądań w Python3 Windows przez Pycharm i odbieranie błędu modułu SSL niedostępny
Spędziłem godziny, próbując dowiedzieć się, co może być tego przyczyną. Ponownie zainstalowałem Anacondę i całkowicie utknąłem. Podczas uruchamiania następujących plików
def Earlybird(daycount):
url = 'https://msft.com'
response = requests.get(url)
print(response)
Earlybird()
Otrzymuję błąd
requests.exceptions.SSLError: HTTPSConnectionPool(host='msft.com',
port=443): Max retries exceeded with url: / (Caused by SSLError("Can't
connect to HTTPS URL because the SSL module is not available."))
Nie mam pojęcia, co może być tego przyczyną. Ponieważ Anaconda jest niedawną instalacją, zakładam, że wszystko będzie aktualne, więc nie jestem pewien, czy to wskazuje na niewłaściwy SSL? Jestem trochę nowy w Pythonie, więc dziękuję za cierpliwość. -
Odpowiedzi:
Nie wiem, czy to zostało już rozwiązane, ale pojawiały się podobne problemy z Anaconda python 3.7.3 i Idle w systemie Windows 10. Naprawiono to, dodając:
<path>\Anaconda3 <path>\Anaconda3\scripts <path>\Anaconda3\Library\bin
do zmiennej PATH.
źródło
python get-pip.py
Jestem na Windowsie 10, miałem problem z nową świeżą instalacją Anacondy na pythonie 3.7.4, ten post na github rozwiązał mój problem:
(źródło: https://github.com/conda/conda/issues/8273 )
Cytuję:
„Moje obejście: Skopiowałem następujące pliki
libcrypto-1_1-x64.* libssl-1_1-x64.*
z D: \ Anaconda3 \ Library \ bin do D: \ Anaconda3 \ DLLs.
I działa jak urok! "
źródło
Użytkownicy systemu Windows muszą ustawić poniższe ścieżki:
..\Anaconda3
..\Anaconda3\scripts
..\Anaconda3\Library\bin
Na użytkownika:
W całym systemie (wymaga ponownego uruchomienia) :
źródło
Rozwiązałem to, instalując OpenSSL zgodnie z następującą rekomendacją: https://github.com/conda/conda/issues/8046#issuecomment-450515815
Odpowiedni bilet w repozytorium conda: https://github.com/conda/conda/issues/8046
Aktualizacja: problem (w PyCharm) powinien zostać rozwiązany w wersji 2019.1 (wersja Early Access Preview jest już dostępna https://www.jetbrains.com/pycharm/nextversion/ ).
źródło
Zainstalowałem pliki binarne stąd: https://slproweb.com/products/Win32OpenSSL.html Ta strona jest wymieniona na oficjalnej wiki OpenSSL. To rozwiązało mój problem
źródło
ten problem doprowadzał mnie do szaleństwa, dopóki nie znalazłem tego postu, który powiedział, że tak
(nie używając pycharm, używając sublime)
Błąd podczas importowania ssl w Pythonie 3.7.4 w systemie macOS 10.14.6
źródło
Nie mam Anacondy, więc kroki, które podjąłem to:
brew uninstall python3
brew install python3
Your Xcode (10.2) is too outdated. Please update to Xcode 11.3 (or delete it). Xcode can be updated from the App Store.
** Więc usunąłem Xcode, ponieważ żadna aktualizacja nie była wyświetlana, a następnie ponownie go zainstalowałem.xcode-select --install
za. Jeśli tego nie zrobisz ... pojawi się błąd:The following formula python cannot be installed as binary package and must be built from source. Install the Command Line Tools: xcode-select --install
brew install python3
i zakończyło się pomyślnie.Użyłem tego skryptu tylko po to, aby sprawdzić, czy działa
import requests r = requests.get('https://www.office.com') print(r)
Uruchomiono skrypt python3 i python3.7, a wynik był
<Response [200]>
zamiast SSLError.źródło
Zmierzyłem się z tym w dniu 04/2020. Oto opcje, które wypróbowałem, i ostatnie rozwiązanie prowadzi mnie.
Problem:
Moduł żądań działa dobrze, gdy używam w Spyder IDE, ale kiedy próbuję wykonać skrypt w systemie Windows, kończy się to błędem SSL. Działa dobrze w przypadku żądań HTTP, ale w przypadku żądań HTTPS otrzymałem błąd SSL.
Rozwiązanie, które to naprawiło:
Rozwiązanie z: https://github.com/conda/conda/issues/8273
Skopiowałem następujące pliki z Anaconda3 \ Library \ bin do \ Anaconda3 \ DLL
libcrypto-1_1-x64. * libssl-1_1-x64. *
źródło
Miałem podobny problem w systemie Windows 10 przy użyciu Conda i Pythona 2.7.2
Po wypróbowaniu wielu, wielu rozwiązań natknąłem się na tę odpowiedź która sugerowała, że istnieje problem z openssl w tej kompilacji.
Kiedy obniżyłem Pythona do wersji 3.7.1 (kompilacja h33f27b4_4) wszystko działało dobrze.
źródło
Nie ma potrzeby dodawania ścieżek do środowiska, jeśli używasz monitu Anaconda.
Uruchom monit Anaconda, przejdź do swojego katalogu i uruchom skrypt lub stamtąd uruchom edytor. Zapewni to pełne środowisko Anaconda i zatrzymanie błędu SSL.
Jaka jest różnica między wierszem polecenia a monitem Anaconda? Zobacz tę odpowiedź SO, aby dowiedzieć się, jaka jest różnica między wierszem polecenia a monitem anaconda .
źródło
Po spędzeniu kilku godzin na przeglądaniu dokumentacji Anacondy, wystawianiu biletów na Github i tak dalej, w końcu udało mi się uruchomić go na 64-bitowym systemie Windows 10 (Anaconda 3.7). Udało mi się zainstalować plik binarny Win64 OpenSSL v1.1.1d z https://slproweb.com/download/Win64OpenSSL-1_1_1d.exe .
UWAGA : Wersja wydaje się mieć znaczenie! Wypróbowałem wersję 1.1.0L (jak sugerowano w innych komentarzach i odpowiedziach), ale w tej wersji problem nie ustąpił. Jeśli po zainstalowaniu niektórych bibliotek OpenSSL nadal masz problemy, próbuj, aż znajdziesz odpowiednią wersję. Wydaje się, że w przypadku Anacondy 3.7 na Windows 10 właściwy jest 1.1.1d. Nie próbowałem wersji light.
Rzeczy, które nie działały dla mnie:
ssl_verify
opcji naFalse
libcrypto
ilibssl
do innej lokalizacji (patrz https://github.com/conda/conda/issues/8273#issue-409800067 )źródło
Napotkano ten sam błąd SSL podczas wykonywania instalacji pip po nowej instalacji anacondy. Pomogło aktywowanie środowiska podstawowego przed wykonaniem instalacji pip. Wykonaj
activate base
polecenie od cmd, a następnie uruchom skrypt w Pythonie. Możesz także wypróbować'conda run -n base python script.py'
Reference - https://github.com/conda/conda/issues/8487źródło
Miałem to samo na mojej instalacji systemu Windows 10.
Anaconda3 nie otwierała Anaconda Navigator przed skopiowaniem
libcrypto-1_1-x64.dll and libssl-1_1-x64.dll
zAnaconda3\Library\bin to \Anaconda3\DLL
.Raz zrobiłem tę
pip
instalację w środowisku podstawowym działało dobrze, ale nie w innym środowisku, które stworzyłem. Musiałem zrobić to samo, co powyżej w nowym środowisku.Oznacza to, że kopiowanie
libcrypto-1_1-x64.dll and libssl-1_1-x64.dll
od\<env folder>\Library\bin
do\<env folder>\DLL
wtedy działało dobrze.źródło
Po rozwiązaniu tego samego problemu w systemie Windows 10 rozwiązanie jest dość proste:
conda init
Uruchom kod ponownie i powinien działać. Zaktualizowałem zarówno Anacondę, jak i PyCharm i miałem problem ze wszystkimi kombinacjami wersji, dopóki nie uruchomiłem
conda init
, co dodaje do twojej PATH podobnie jak odpowiedź Paula Stevensa . Nie pomijaj punktu 3 - ponowne uruchomienie PyCharm lub jakiegokolwiek innego interpretera jest kluczowe.źródło
przechodzenie do witryny internetowej: daje mi następujące informacje z narzędzia programisty i przeglądanie nagłówków. (kliknij prawym przyciskiem myszy -> sprawdź. następnie otwórz kartę sieci i sprawdź nagłówki)
Widzimy więc, że musimy wykonać żądanie do HTTP, a nie HTTPS.
import requests def Earlybird(): url = 'http://msft.com/' response = requests.get(url) print(response.text) if __name__ == '__main__': Earlybird()
źródło
Uwaga: ten problem został rozwiązany w systemie Windows 10. Napotkałem ten sam problem ze środowiskiem wirtualnym w systemie Windows 10. Problem został rozwiązany z uruchomieniem CMD jako administrator i utworzeniem nowego środowiska wirtualnego.
źródło
Rozwiązany, wykonując następujące czynności w moim systemie Windows 10:
mklink "C:\Users\hal\AppData\Local\Continuum\anaconda3\DLLs\libssl-1_1-x64.dll" "C:\Users\hal\AppData\Local\Continuum\anaconda3\Library\bin\libssl-1_1-x64.dll" mklink "C:\ProgramData\Anaconda3\DLLs\libcrypto-1_1-x64.dll" "C:\ProgramData\Anaconda3\Library\bin\libcrypto-1_1-x64.dll"
źródło
Używam VSCode do edycji i debugowania, a jedynym rozwiązaniem, które zadziałało, była edycja zmiennych środowiskowych w oknach. Najwyraźniej powoduje to problemy, ale nie jestem pewien, czym one są.
Uruchamianie z zachęty Anaconda (jak sugeruje sayth) NIE było dla mnie opcją. A może sugestia była taka, aby w jakiś sposób uruchomić znak zachęty anakondy, a z zachęty anakondy uruchomić VSCode. To nie brzmi jak rozsądna prośba.
Wydaje się, że jest to długotrwały, chroniczny problem bez ostatecznej globalnej odpowiedzi, która działa dla wszystkich.
źródło
Ponowna instalacja Pythona na podstawie instrukcji z tego miejsca rozwiązała ten problem: Jak mogę zainstalować poprzednią wersję Pythona 3 w systemie MacOS przy użyciu homebrew?
źródło
Ten błąd występuje w VSCode z Pythonem 3.7.3, ale działa dobrze w edytorze IDLE w Windows 10 z Pythonem 3.7.0.
źródło
Upewnij się, że tworzysz projekt z wybraną opcją środowiska Conda.
Mój problem został rozwiązany przez ponowne utworzenie projektu i wybranie opcji „conda” z opcji „Nowe środowisko przy użyciu”
zobacz zdjęcie:
źródło
W systemie Windows 10 - jest to obejście i nie rozwiązuje problemu z rootem, jeśli jednak musisz tylko coś zainstalować i przejść dalej; Wykonaj następujące czynności w wierszu polecenia, programie PowerShell lub pliku Dockerfile:
pip config set global.trusted_host "pypi.org files.pythonhosted.org"
źródło
Miałem również ten sam problem w maszynach moich kolegów z zespołu. Naprawiono to samo z dodaniem ścieżki anakondy. W moim systemie poniżej jest ścieżka Anacondy:
C:\ProgramData\Anaconda3\Scripts C:\ProgramData\Anaconda3\ C:\ProgramData\Anaconda3\Library\bin
źródło
Używam tego „Win64 OpenSSL v1.1.1h” -> EXE z https://slproweb.com/products/Win32OpenSSL.html
po zainstalowaniu i działa
źródło