Virtualenv: Tidak dapat menginstal paket apa pun melalui `pip` di windows 10, modul ssl dengan Python tidak tersedia

Dibuat pada 28 Feb 2018  ·  54Komentar  ·  Sumber: pypa/virtualenv

versi python: 3.6 (Distribusi Intel untuk Python untuk pembaruan Windows 2018 1)
versi virtualenv: 15.1.0
versi windows: windows 10 pro, build 17101.rs4_release.180211-1040

Saya hanya menjalankan 2 perintah, inilah output Powershell:

PS E:\Python\Virtualenv\Scripts> .\activate
(Virtualenv) PS E:\Python\Virtualenv\Scripts> pip install numpy
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting numpy
  Could not fetch URL https://pypi.python.org/simple/numpy/: There was a problem confirming the ssl certificate: Can't connect to HTTPS URL because the SSL module is not available. - skipping
  Could not find a version that satisfies the requirement numpy (from versions: )
No matching distribution found for numpy

Direktori ini Python bukan tempat python diinstal, ini hanya direktori normal.

Saya telah mencoba menginstal beberapa openssl mandiri, seperti yang dari sini , tetapi tidak ada yang berhasil.

Komentar yang paling membantu

Saya memiliki masalah yang sama. Saya sedang mengonfigurasi komputer baru dengan python dan jupyter dengan anaconda, dan masalah terjadi ketika saya mencoba menginstal paket menggunakan pip.

Berdasarkan diskusi di atas, bahwa ini adalah masalah lingkungan, saya mencoba menjalankan perintah "pip install" di Anaconda Prompt alih-alih cmd . Dan perintah pip dijalankan. 😁

Semua 54 komentar

Saya berasumsi pip yang digunakan adalah yang ada di virtualenv Anda. Apakah _system_ pip Anda dapat diinstal? Jika tidak, ini mungkin bukan masalah virtualenv ...

@tobiasherp
Sistem pip baik-baik saja, tetapi pip di virtualenv tidak berfungsi.
Saya tidak tahu di mana masalahnya, saya bahkan tidak dapat menemukan situasi serupa di Google. :(
Tidak hanya numpy , itu tidak dapat menginstal paket apa pun secara online. Tetapi jika ada file roda, itu dapat diinstal dengan sukses, jadi saya pikir masalahnya mungkin terkait dengan SSL.

Benar, PyPI menggunakan https sekarang, jadi Anda memerlukan dukungan ssl. Jika sistem Anda Python tidak memilikinya, virtualenv Anda juga tidak akan memilikinya. Dengan Python 3, Anda seharusnya dapat mengimpor modul ssl :

>>> import ssl

Taruhan terbaik Anda mungkin beralih ke juru bahasa yang memiliki modul ssl .
Penerjemah 3.6.4 yang baru saja saya unduh dari https://www.python.org/ tampaknya memiliki dukungan ssl.

AFAICS, ini bukan masalah virtualenv ; mengusulkan untuk menutupnya.

Ini mungkin bukan masalah venv tetapi masih menjadi masalah. Dalam contoh saya, saya tidak dapat menginstal di venv atau sistem pip
Saya telah menginstal IntelPython3 pada Win 10 64 bit dan YA itu telah menginstal dan mengkompilasi openssl tetapi untuk beberapa alasan hal-hal tidak berfungsi

Saya telah melihat ini: [(https://software.intel.com/en-us/forums/intel-distribution-for-python/topic/737878#comment-1920719)]

Tetapi saya tidak dapat memperbaiki versi saya dari masalah ini.

Setiap saran tentang masalah ini akan sangat membantu

@theCJMan apakah Anda masih mengalami masalah ini?

Saya memiliki masalah itu

Pada Sel, 17 Apr 2018, 19:44 Sumana Harihareswara, [email protected]
menulis:

@theCJMan https://github.com/theCJMan apakah Anda masih mengalami ini?
masalah?


Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/pypa/virtualenv/issues/1139#issuecomment-382081077 ,
atau matikan utasnya
https://github.com/notifications/unsubscribe-auth/AkTyyw5zfrJFZleItkAkrR1_kE9R-C8Cks5tpioOgaJpZM4SWUf4
.

Transport Layer Security, atau TLS, adalah bagian dari cara kami memastikan koneksi antara komputer Anda dan PyPI bersifat pribadi dan aman. Ini adalah protokol kriptografi yang memiliki beberapa versi dari waktu ke waktu.

Anda harus terhubung ke PyPI dengan pustaka dukungan TLS, seperti OpenSSL versi terbaru. Langkah-langkah spesifik yang perlu Anda ambil akan bergantung pada versi sistem operasi Anda, di mana instalasi Python Anda berasal (python.org, vendor OS Anda, atau distributor perantara), dan versi Python yang diinstal, setuptools , pipenv , dan pip . Untuk bantuan, silakan kunjungi saluran #pypa IRC di Freenode , ajukan masalah di pypa/packaging-problems/issues , atau poskan ke milis python-help , termasuk OS Anda dan detail instalasi dan output dari pip install -vvv tingkatkan pip .

Saya juga mengalami ini di macos, python 2.7.15 - sistem python bekerja dengan baik, virtual env gagal untuk menginstal karena

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

sistem saya python mengimpor ssl dengan baik, tetapi venv python memberikan kesalahan berikut:

raceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 126, in <module>
    from _ssl import HAS_SNI, HAS_ECDH, HAS_NPN, HAS_ALPN, HAS_TLSv1_3
ImportError: cannot import name HAS_TLSv1_3

setelah menghapus direktori env, dan membuat ulang env, semuanya bekerja dengan baik.

Saya mendapat masalah yang sama dengan @liurui39660 , juga menggunakan Intel Python Distribution dan python -m venv untuk membuat venv. Tampaknya menjadi masalah dengan modul ssl , tidak ada hubungannya dengan pip :

(venv) C:\Users\ceefour\git\tews\ecn-svc>python
Python 3.6.3 |Anaconda custom (64-bit)| (default, May  3 2018, 23:39:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Intel(R) Distribution for Python is brought to you by Intel Corporation.
Please check out: https://software.intel.com/en-us/python-distribution
>>> import ssl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\ProgramData\Anaconda3\lib\ssl.py", line 101, in <module>
    import _ssl             # if we can't import it, let the error propagate
ImportError: DLL load failed: The operating system cannot run %1.
>>>

Perhatikan bahwa bug hanya dipicu saat menggunakan Intel Python di dalam file venv. Saat menggunakan env dasar, ini berfungsi:

(base) C:\Users\ceefour>python
Python 3.6.3 |Anaconda custom (64-bit)| (default, May  3 2018, 23:39:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Intel(R) Distribution for Python is brought to you by Intel Corporation.
Please check out: https://software.intel.com/en-us/python-distribution
>>> import ssl
>>> 

Pembaruan: Utas ini sepertinya merupakan petunjuk:

Rohit J. (Intel) Kam, 07/06/2017 - 21:40
pip tidak dapat digunakan dengan IDP dan Miniconda di Windows. Masalahnya adalah akar penyebab ke perpustakaan yang saling bertentangan (libeay32.dll) yang diinstal di jalur sistem. Saat run-time, pemuatan perpustakaan ini lebih diutamakan daripada apa yang kami kirimkan dengan distribusi kami. Ada konflik versi dan eksekusi akan gagal dengan "ImportError: DLL load failed: Operating system can run %1.". Menghapus perpustakaan asing ini dari jalur sistem menyelesaikan masalah.

Saya memiliki _banyak_ libeay32.dll di dalam C:\Program Files , termasuk satu di C:\ProgramData\Anaconda3\Library\bin

Saya telah mencoba memindahkan C:\ProgramData\Anaconda3\Library\bin ke depan PATH , tetapi masih terjadi kesalahan.

Saya memiliki masalah yang sama. Saya sedang mengonfigurasi komputer baru dengan python dan jupyter dengan anaconda, dan masalah terjadi ketika saya mencoba menginstal paket menggunakan pip.

Berdasarkan diskusi di atas, bahwa ini adalah masalah lingkungan, saya mencoba menjalankan perintah "pip install" di Anaconda Prompt alih-alih cmd . Dan perintah pip dijalankan. 😁

Saya masih berjuang dengan mengikuti sejak kemarin, setelah menginstal Python 3.7.1 dengan Anaconda3

pip dikonfigurasi dengan lokasi yang memerlukan TLS/SSL, namun modul ssl di Python tidak tersedia.
Mencoba lagi (Coba lagi(total=4, connect=None, read=None, redirect=None, status=None)) setelah koneksi terputus oleh 'SSLError("Tidak dapat terhubung ke URL HTTPS karena modul SSL tidak tersedia.") ': /sederhana/pip/
Mencoba lagi (Coba lagi(total=3, sambungkan=Tidak ada, baca=Tidak ada, alihkan=Tidak ada, status=Tidak ada)) setelah koneksi terputus oleh 'SSLError("Tidak dapat terhubung ke URL HTTPS karena modul SSL tidak tersedia.") ': /sederhana/pip/
Mencoba lagi (Coba lagi(total=2, sambungkan=Tidak ada, baca=Tidak ada, alihkan=Tidak ada, status=Tidak ada)) setelah koneksi terputus oleh 'SSLError("Tidak dapat terhubung ke URL HTTPS karena modul SSL tidak tersedia.") ': /sederhana/pip/
Mencoba lagi (Coba lagi(total=1, connect=None, read=None, redirect=None, status=None)) setelah koneksi terputus oleh 'SSLError("Tidak dapat terhubung ke URL HTTPS karena modul SSL tidak tersedia.") ': /sederhana/pip/
Mencoba lagi (Coba lagi(total=0, connect=None, read=None, redirect=None, status=None)) setelah koneksi terputus oleh 'SSLError("Tidak dapat terhubung ke URL HTTPS karena modul SSL tidak tersedia.") ': /sederhana/pip/
Tidak dapat mengambil URL https://pypi.org/simple/pip/ : Ada masalah saat mengonfirmasi sertifikat ssl: HTTPSConnectionPool(host='pypi.org', port=443): Percobaan ulang maksimum terlampaui dengan url: /simple/ pip/ (Disebabkan oleh SSLError("Tidak dapat terhubung ke URL HTTPS karena modul SSL tidak tersedia.")) - skipping
Persyaratan sudah mutakhir: pip di d:\anaconda3\lib\site-packages (18.1)
pip dikonfigurasi dengan lokasi yang memerlukan TLS/SSL, namun modul ssl di Python tidak tersedia.
Tidak dapat mengambil URL https://pypi.org/simple/pip/ : Ada masalah saat mengonfirmasi sertifikat ssl: HTTPSConnectionPool(host='pypi.org', port=443): Percobaan ulang maksimum terlampaui dengan url: /simple/ pip/ (Disebabkan oleh SSLError("Tidak dapat terhubung ke URL HTTPS karena modul SSL tidak tersedia.")) - skipping

Saya memiliki masalah yang sama. Menggunakan saran willliu1995 memecahkan masalah. Menjalankan pip dari cmd Prompt juga tidak berfungsi tetapi meluncurkan notebook jupyter dan menjalankan !pip installbekerja.

Jika pip install pandas tidak berfungsi pada CMD Prompt, jalankan ini menggunakan Anaconda Prompt - ini berfungsi. Anda dapat menemukan Anaconda Prompt menggunakan ini:

Pergi dengan mouse ke Ikon Windows (kiri bawah) dan mulai mengetik "Anaconda". Seharusnya ada beberapa entri yang cocok. Pilih "Prompt Anaconda". Jendela perintah baru, bernama "Anaconda Prompt" akan terbuka. Sumber - https://stackoverflow.com/questions/47914980/how-to-access-anaconda-command-prompt-in-windows-10-64-bit

Jika Anda lebih suka menggunakan Prompt Perintah Windows, Anda perlu menambahkan direktori berikut ke jalur Lingkungan Windows Anda:
%Miniconda3_DIR%;%Miniconda3_DIR%\Library\mingw-w64\bin;%Miniconda3_DIR%\Library\usr\bin;%Miniconda3_DIR%\Library\bin;%Miniconda3_DIR%\Scripts;%Miniconda3_DIR%\bin;
[di mana, %Miniconda3_DIR% harus diganti dengan jalur pemasangan Miniconda (atau Anaconda) Anda]

Misalnya, saya telah menginstal Miniconda saya di E:\Portable\Miniconda3 . Jadi PATH Windows saya harus menyertakan folder ini:
E:\Portable\Miniconda3;E:\Portable\Miniconda3\Library\mingw-w64\bin;E:\Portable\Miniconda3\Library\usr\bin;E:\Portable\Miniconda3\Library\bin;E:\Portable\Miniconda3\Scripts;E:\Portable\Miniconda3\bin;

@shriprem Terima kasih! Itu berhasil. Solusi Anda mengonfirmasi bahwa ini adalah masalah jalur sistem, karena umumnya hanya perlu menambahkan %Miniconda3_DIR%\Scripts ke variabel PATH Anda untuk menggunakan pip. Tahu mengapa ini berubah?

@EthanBackToLife Saya memeriksa variabel lingkungan PATH di Anaconda Prompt, dan menemukan bahwa Anaconda mengawali semua direktori tersebut ke variabel PATH Prompt-nya. Jadi saya menambahkan bagian delta dari jalur itu ke variabel Windows PATH untuk mengonfirmasi bahwa itu berfungsi untuk pip.

Saat mencoba menginstal Conda di PC lain, saya dapat memperbaiki perubahan jalur menjadi lebih pendek: %Miniconda3_DIR%;%Miniconda3_DIR%\Scripts;%Miniconda3_DIR%\Library\bin
[Melihat ke belakang, kami melihat bahwa direktori lain yang ditambahkan ke jalur dari posting saya sebelumnya tidak ada/kosong pada instalasi Conda yang baru.]

Dengan penyempitan jalur ini, kita dapat melihat folder %Miniconda3_DIR%\Library\bin . Di sini, kami menemukan file seperti: libcrypto-1_1-x64.dll, libcrypto-1_1-x64.pdb, libssl-1_1-x64.dll, openssl.exe, libssl-1_1-x64.pdb, openssl.pdb yang menurut saya sangat penting dalam menyelesaikan masalah SSL/TLS dengan pemasangan paket pip (dan conda).

versi python: 3.6 (Distribusi Intel untuk Python untuk pembaruan Windows 2018 1)
versi virtualenv: 15.1.0
versi windows: windows 10 pro, build 17101.rs4_release.180211-1040

Saya hanya menjalankan 2 perintah, inilah output Powershell:

PS E:\Python\Virtualenv\Scripts> .\activate
(Virtualenv) PS E:\Python\Virtualenv\Scripts> pip install numpy
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting numpy
  Could not fetch URL https://pypi.python.org/simple/numpy/: There was a problem confirming the ssl certificate: Can't connect to HTTPS URL because the SSL module is not available. - skipping
  Could not find a version that satisfies the requirement numpy (from versions: )
No matching distribution found for numpy

Direktori ini Python bukan tempat python diinstal, ini hanya direktori normal.

Saya telah mencoba menginstal beberapa openssl mandiri, seperti yang dari sini , tetapi tidak ada yang berhasil.

Saya menemukan pertanyaan yang sama seperti Anda, dan saya mencoba menggunakan perintah .\activate , lalu menyelesaikan pertanyaan dengan sempurna, saya tidak bisa berterima kasih lagi.

@EthanBackToLife Saya memeriksa variabel lingkungan PATH di Anaconda Prompt, dan menemukan bahwa Anaconda mengawali semua direktori tersebut ke variabel PATH Prompt-nya. Jadi saya menambahkan bagian delta dari jalur itu ke variabel Windows PATH untuk mengonfirmasi bahwa itu berfungsi untuk pip.

Saat mencoba menginstal Conda di PC lain, saya dapat memperbaiki perubahan jalur menjadi lebih pendek: %Miniconda3_DIR%;%Miniconda3_DIR%\Scripts;%Miniconda3_DIR%\Library\bin
[Melihat ke belakang, kami melihat bahwa direktori lain yang ditambahkan ke jalur dari posting saya sebelumnya tidak ada/kosong pada instalasi Conda yang baru.]

Dengan penyempitan jalur ini, kita dapat melihat folder %Miniconda3_DIR%\Library\bin . Di sini, kami menemukan file seperti: libcrypto-1_1-x64.dll, libcrypto-1_1-x64.pdb, libssl-1_1-x64.dll, openssl.exe, libssl-1_1-x64.pdb, openssl.pdb yang menurut saya sangat penting dalam menyelesaikan masalah SSL/TLS dengan pemasangan paket pip (dan conda).

Penjelasan yang bagus! Terima kasih.

Saya masih memiliki masalah ini setelah melakukan apa yang dikomentari @shriprem . Python versi 3.7.1 dan pip versi 18.1, jika itu membantu.

" Saya dapat mengatasi masalah ini dengan menambahkan jalur direktori intel-python yang memiliki libeay32.dll (dalam kasus saya ..\IntelPython3\pkgs\openssl-1.0.2l-vc14_intel_0\Library\bin) di lingkungan sistem sebagai posisi teratas. "

referensi: https://software.intel.com/en-us/forums/intel-distribution-for-python/topic/737878

Saya menemukan berada di direktori "Script" diperlukan untuk menggunakan pip

Untuk Windows 10 Jika pip install tidak berfungsi pada prompt CMD, jalankan menggunakan Anaconda prompt - itu berfungsi.

Jika Anda ingin menggunakan pip di CMD normal, tidak hanya di Anaconda Prompt.
anda perlu menambahkan 3 jalur lingkungan.
seperti ini:
D:\Anaconda3;
D:\Anaconda3\Scripts;
D:\Anaconda3\Library\bin

kebanyakan orang hanya menambahkan D:\Anaconda3\Scripts;

Tentukan jalur C:\Anaconda3\Library\bin dalam variabel pengguna lingkungan.
Atau
Cukup periksa apakah Anda telah menginstal openssl di base python
Jika tidak, instal saja menggunakan perintah berikut
pip install pyopenssl

Saya percaya jalur ditambahkan dengan benar, tetapi pip masih tidak berfungsi, baik di CMD atau di Anaconda Prompt.

apakah Anda mencoba dari direktori "Script"?

apakah Anda mencoba dari direktori "Script"?

Jika maksud Anda cd xxx/Scripts dan kemudian pip install, saya baru saja mencoba dan tidak berhasil.

@SnarkyPapi , Anda mengatakan "Saya yakin jalurnya ditambahkan dengan benar." Untuk mengkonfirmasi fakta ini, jalankan 4 perintah yang tercantum dalam huruf tebal di bawah ini.

  1. Perintah: > di mana python
    Output harus seperti: _C:\Miniconda3-x64\python.exe_

  2. Perintah: > di mana pip
    Output harus seperti: _C:\Miniconda3-x64\Scriptspip.exe_

  3. Perintah: > where openssl
    Outputnya harus seperti:
    [Perhatikan bahwa mungkin openssl.exe diinstal di beberapa lokasi jalur lingkungan. Dalam kasus saya, openssl juga telah diinstal sebagai bagian dari instalasi Perl]
    _C:\Perl\c\bin\openssl.exe
    C:\Miniconda3-x64\Library\bin\openssl.exe_

  4. Perintah: > di mana libssl-1_1-x64.dll
    Output harus seperti: _C:\Miniconda3-x64\Library\bin\libssl-1_1-x64.dll_

Untuk semua ini, jika Anda mendapatkan output yang mengatakan "INFO: Tidak dapat menemukan file untuk pola yang diberikan.", maka salah satu komponen jalur yang diperlukan yang diperlukan untuk pip hilang untuk lingkungan Anda.

Hai, 4 perintah bekerja dengan baik, dan untuk yang ke-4 menunjukkan 2 baris:
C:\Windows\System32\libssl-1_1-x64.dll
C:\Anaconda\Library\bin\libssl-1_1-x64.dll

sepertinya Anda mungkin ingin meletakkan "C:\Anaconda\Library\bin" di awal $PATH Anda

sepertinya Anda mungkin ingin meletakkan "C:\Anaconda\Library\bin" di awal $PATH Anda
Barusan dicoba dan masalahnya masih ada.

bisakah kamu echo %PATH%

Anda mungkin telah membuka terminal baru untuk PATH untuk diubah

Solusi alternatif: Saya baru saja berhasil membuatnya bekerja dengan membuat file pip.ini di bawah C:\Users\my_user_namepip, menulis:

[global]
index-url= http://pypi.douban.com/simple/
[Install]
host-tepercaya=pypi.douban.com

Ini memecahkan masalah untuk saat ini, namun kecepatan unduh menggunakan mirror ini tidak terlalu cepat (sekitar 800kb/s). Apakah ada cara untuk membuatnya berfungsi seperti biasa?

bisakah kamu echo %PATH%

Anda mungkin telah membuka terminal baru untuk PATH untuk diubah

C:\Anaconda\Library\bin;D:\Software\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin;D:\Software\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Razer Chroma SDK\bin;D:\Software\Razer Chroma SDK\bin;C:\windows\system32;C:\windows ;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common; D:\Software\PuTTY\;C:\windows\system32\config\systemprofile\AppData\Local\Microsoft\WindowsApps;D:\Software\dotnet\;D:\Software\MySQL\MySQL Utilities 1.6\;C:\ Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;D:\Software\Git\cmd;C:\Users\Cyrilpippip.ini;C:\Anaconda;C:\ Anaconda\Library\mingw-w64\bin;C:\Anaconda\Library\usr\bin;C:\Anaconda\Scripts;C:\Anaconda\bin;C:\Anaconda\Library\bin;C:\Anaconda;C :\Anaconda\Library\mingw-w64\bin;C:\Anaconda\Library\usr\bin;C:\Anaconda\Scripts;C:\Anaconda\bin;D:\Software\D ocker Toolbox;C:\Users\Cyrilpippip.ini;

Pustaka SSL ada di folder C:\anaconda\Library\bin Anda. Anda harus mengatur jalur tersebut pada saat mencoba menginstal perpustakaan Anda . Ini karena, ketika Anda mengaktifkan lingkungan virtual, PATH berubah.

Karena itu,

  • Jika Anda tidak menggunakan lingkungan virtual, setel PATH secara manual ke:
set PATH=C:\anaconda;C:\anaconda\Scripts;C:\anaconda\Library\bin
pip  install any_library
or
pip install -r requirements.txt

  • Jika Anda menggunakan lingkungan virtual, atur PATH secara manual ke:
set PATH=C:\venvs\ve1\;C:\venvs\ve1\Scripts;C:\anaconda\Library\bin
pip  install any_library
or
pip install -r requirements.txt

Perhatikan bahwa C:\anaconda\Library\bin konsisten dalam kedua kasus, terlepas dari apakah Anda bekerja di vm atau tidak.

@datatravelgit Hai, saya tidak menggunakan lingkungan virtual dan masih ada masalah ini setelah mengatur jalur secara manual.

Terima kasih atas komentar yang bermanfaat di atas! Menambahkan yang berikut ke variabel path berfungsi untuk saya di Windows 10:
C:\Users...\Anaconda3
C:\Users...\Anaconda3\Scripts
C:\Users...\Anaconda3\Library\bin

Saya mendapat masalah yang sama dengan @liurui39660 , juga menggunakan Intel Python Distribution _and_ python -m venv untuk membuat venv. Tampaknya menjadi masalah dengan modul ssl , tidak ada hubungannya dengan pip :

(venv) C:\Users\ceefour\git\tews\ecn-svc>python
Python 3.6.3 |Anaconda custom (64-bit)| (default, May  3 2018, 23:39:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Intel(R) Distribution for Python is brought to you by Intel Corporation.
Please check out: https://software.intel.com/en-us/python-distribution
>>> import ssl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\ProgramData\Anaconda3\lib\ssl.py", line 101, in <module>
    import _ssl             # if we can't import it, let the error propagate
ImportError: DLL load failed: The operating system cannot run %1.
>>>

Perhatikan bahwa bug hanya dipicu saat menggunakan Intel Python di dalam file venv. Saat menggunakan env dasar, ini berfungsi:

(base) C:\Users\ceefour>python
Python 3.6.3 |Anaconda custom (64-bit)| (default, May  3 2018, 23:39:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Intel(R) Distribution for Python is brought to you by Intel Corporation.
Please check out: https://software.intel.com/en-us/python-distribution
>>> import ssl
>>> 

Pembaruan: Utas ini sepertinya merupakan petunjuk:

Rohit J. (Intel) Kam, 07/06/2017 - 21:40
pip tidak dapat digunakan dengan IDP dan Miniconda di Windows. Masalahnya adalah akar penyebab ke perpustakaan yang saling bertentangan (libeay32.dll) yang diinstal di jalur sistem. Saat run-time, pemuatan perpustakaan ini lebih diutamakan daripada apa yang kami kirimkan dengan distribusi kami. Ada konflik versi dan eksekusi akan gagal dengan "ImportError: DLL load failed: Operating system can run %1.". Menghapus perpustakaan asing ini dari jalur sistem menyelesaikan masalah.

Saya memiliki _banyak_ libeay32.dll di dalam C:\Program Files , termasuk satu di C:\ProgramData\Anaconda3\Library\bin

Saya telah mencoba memindahkan C:\ProgramData\Anaconda3\Library\bin ke depan PATH , tetapi masih terjadi kesalahan.
------------- 20190327
qq来了个邮件,点进来才发现是这个问题,这个后来解决了。我在电脑上重新安装了Win64OpenSSL_Light-1_1_1b.exe anaconda卸载并重装。现在anaconda和python都正常了。

-------------以下为旧内容 Anaconda卸载后重装了,但并没有解决。刚才我从单独的目录中impor ssl,anaconda中的报错,另外一个不报错。如图:
GitHub Logo
pycharmpycharm也可以正常运行了。

Saya harus mengganti libssl-1_1-x64.dll di folder envs/myenv/Library/bin saya dengan basis env dll. Itu tidak sama. Plus saya punya libssl-1_1-x64.dll lain di bawah C:/Windows/System32/ dan di bawah folder Intel tertentu di C:/Program Files. Saya menghapus barang-barang Intel dari jalur dan menghapus yang ada di bawah system32.

Tidak yakin kapan dll yang rusak telah disalin, tetapi menggantinya dengan yang dari conda/Library/bin/ bekerja dengan baik.

Untuk memeriksa kesalahan lebih lanjut, Anda dapat mengaktifkan lingkungan Anda dan mengetik python -c "import ssl" . Ini perbedaan penting, jika kesalahannya adalah "Modul tidak ditemukan" (-> dll tidak dapat ditemukan sama sekali, mungkin masalah Path) atau "Titik masuk prosedur tidak ditemukan" (-> kemungkinan, dll yang rusak/salah ditemukan ).

Saya harus mengganti libssl-1_1-x64.dll di folder envs/myenv/Library/bin saya dengan basis env dll. Itu tidak sama. Plus saya punya libssl-1_1-x64.dll lain di bawah C:/Windows/System32/ dan di bawah folder Intel tertentu di C:/Program Files. Saya menghapus barang-barang Intel dari jalur dan menghapus yang ada di bawah system32.

Tidak yakin kapan dll yang rusak telah disalin, tetapi menggantinya dengan yang dari conda/Library/bin/ bekerja dengan baik.

Untuk memeriksa kesalahan lebih lanjut, Anda dapat mengaktifkan lingkungan Anda dan mengetik python -c "import ssl" . Ini perbedaan penting, jika kesalahannya adalah "Modul tidak ditemukan" (-> dll tidak dapat ditemukan sama sekali, mungkin masalah Path) atau "Titik masuk prosedur tidak ditemukan" (-> kemungkinan, dll yang rusak/salah ditemukan ).

Saya mengalami masalah yang sama- "Prosedur yang ditentukan tidak dapat ditemukan." - hanya dalam env tertentu.
Di base env "import ssl" berfungsi dengan baik.

Mencoba mengganti libssl-1_1-x64.dll env dengan libssl-1_1-x64.dll env dasar - tetapi tidak membantu.
Mungkinkah ada file lain yang menyebabkan ini?

Tetap untuk saya, terima kasih atas komentar semua orang.
Masalah ini tidak diperbaiki dengan menambahkan\Anaconda3\Library\bin ke jalur, atau bahkan bagian atas jalur. Hal yang sama berlaku untuk \Anaconda3\Scripts dan \Anaconda3\Library\mingw-w64\bin.

Mencoba mengganti libssl-1_1-x64.dll env dengan libssl-1_1-x64.dll env dasar - tetapi tidak membantu.
Mungkinkah ada file lain yang menyebabkan ini?

Menghapus libssl-1_1-x64.dll dan libcrypto-1_1-x64.dll di C:/Windows/System32/ memperbaiki masalah untuk saya.

Aku mencintaimu sobat!
Menghapus libssl-1_1-x64.dll dan libcrypto-1_1-x64.dll di C:/Windows/System32/ memperbaiki masalah untuk saya.

instal Win64OpenSSL_Light-1_1_1b.exe https://slproweb.com/download/Win64OpenSSL_Light-1_1_1b.exe , lalu pip berfungsi dengan baik.

coba gunakan:

pip3 install <package>

masalah ini dapat diselesaikan dengan mengubah jalur melalui pc ini
pergi ke properti
lalu pergi ke pengaturan lanjutan
lalu variabel lingkungan
maka variabel sistem
lalu jalan
jalur klik dua kali
periksa jalur python yang diinstal
jika Anda memiliki anaconda
lalu hapus kedua jalur dan
lalu klik baru
lalu salin jalur python 3.7 atau skrip python til terbaru yaitu
(C:\Users\'nama pengguna'\AppData\Local\ProgramsPythonPython37\scripts)
lalu klik oke
selanjutnya juga klik baru
lalu salin jalur C:\Users\'nama pengguna'\AppData\Local\ProgramsPythonPython37
kemudian restart cmd sebagai admin dan coba lagi instalasi

Lucunya: Saya memiliki masalah yang sama di Android, Termux. Pip tidak dapat terhubung ke pypi.org karena ssl tidak ada.
Masalahnya jelas dengan modul ssl. Jadi, awalnya periksa, apakah Anda sudah menginstal ssl. Jika ya, tingkatkan ke versi terbaru, karena algoritma ssl berkembang dengan cepat, dan menjadi tidak kompatibel.
Coba perbarui pustaka yang ada, atau instal paket yang didukung lebih baik.

Untuk pengguna Anaconda/Miniconda di Windows, ini adalah masalah pemuatan perpustakaan. Ada informasi dalam FAQ pemecahan masalah di https://conda.io/projects/conda/en/latest/user-guide/troubleshooting.html#condahttperror -http-000-connection-failed

Seperti yang telah dicatat oleh beberapa pengguna, penginstalan openssl lain ke dalam folder Windows\System32 bisa sangat merepotkan. Ada informasi tentang solusi dalam python Anaconda (dan conda-forge) di bagian pemecahan masalah terkait ini: https://conda.io/projects/conda/en/latest/user-guide/troubleshooting.html#numpy -mkl-library- gagal memuat

Anda dapat melaporkan masalah anaconda di https://github.com/continuumio/anaconda-issues

Saya mengalami masalah SSL berulang dengan pemasangan modul pip. Sebelum ini, pip telah bekerja dengan baik selama beberapa bulan -- setelah mengonfigurasi jalur lingkungan dengan benar untuk menyertakan 3 folder conda: %Conda_DIR%;%Conda_DIR%\Scripts;%Conda_DIR%\Library\bin .

Setelah beberapa jam bertengkar, saya sampai pada dua solusi ini -- satu untuk pemasangan modul melalui pip , dan yang lainnya untuk yang melalui conda .

Pemasangan modul melalui pip

Pada dasarnya, berdasarkan pesan kesalahan, saya harus menambahkan situs pypi.org dan files.pythonhosted.org sebagai host tepercaya.

Anda dapat melakukannya sekali melalui: pip config set global.trusted_host "pypi.org files.pythonhosted.org"
Perubahan pengaturan ini disimpan dalam file C:\Users\user_name\Appdata\Roaming\pip\pip.ini (singkatnya, %APPDATA%\pip\pip.ini ). Karena ini berada di folder pengguna non-administrator dari perspektif Windows, seharusnya aman untuk melakukannya.

[Jika Anda tidak nyaman dengan perubahan pengaturan 'global', Anda dapat mengulanginya selama setiap pemasangan modul.
Misalnya: pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org -U matplotlib ]

Pemasangan modul melalui conda

Beberapa modul Python seperti basemap tidak diinstal melalui pip. Saya harus menggunakan conda sebagai gantinya.
Untuk mengganti kesalahan SSL dengan conda, saya harus menggunakan: conda config --set ssl_verify false

[Setelah modul conda diinstal, saya menyalakan kembali ssl dengan: conda config --set ssl_verify true ]

Saat menyelesaikan masalah ini hari ini, info umum di https://conda.io/projects/conda/en/latest/user-guide/troubleshooting.html#ssl -connection-errors dan info situs spesifik dari kesalahan waktu pemasangan pesan -- keduanya terbukti membantu.

Hai ketika di anaconda Prompt saya tidak dapat menggunakan pip karena masalah TSL/SSL:

(base) C:\Users\joshu>pip install pandahouse
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

Tetapi saya dapat menginstal pip apa pun yang saya inginkan saat menggunakan python asli:

C:\Users\joshu\AppData\Local\Programs\Python\Python37\Scripts>pip install scrapy
Collecting scrapy
  Downloading http....

Apa yang telah saya lakukan sejauh ini:

  1. Diinstal Python terlebih dahulu
  2. anaconda terpasang
  3. anaconda yang diinstal ulang
  4. Menghapus libcrypto-1_1-x64.dll dan libssl-1_1-x64.dll dari System32/
  5. Menambahkan perpustakaan Anaconda saya ke sistem teratas dan variabel pengguna PATH
    C:\Users\joshu\Anaconda3\Library\bin
  6. Masih tidak berfungsi

Lokasi Prompt CMD dengan Python asli:

C:\Users\joshu\AppData\Local\Programs\Python\Python37\Scripts>where libssl-1_1-x64.dll
C:\Users\joshu\Anaconda3\Library\bin\libssl-1_1-x64.dll

C:\Users\joshu\AppData\Local\Programs\Python\Python37\Scripts>where libcrypto-1_1-x64.dll
C:\Users\joshu\Anaconda3\Library\bin\libcrypto-1_1-x64.dll

Lokasi Anaconda Prompt:

(base) C:\Users\joshu>where libssl-1_1-x64.dll
C:\Users\joshu\Anaconda3\Library\bin\libssl-1_1-x64.dll

(base) C:\Users\joshu>where libcrypto-1_1-x64.dll
C:\Users\joshu\Anaconda3\Library\bin\libcrypto-1_1-x64.dll

Tidak yakin apakah ini penting tetapi OPENSSL_CONF C:\OpenSSL-Win64\bin\openssl.cfg muncul di atas PATH dalam variabel sistem saya.

Bisakah seseorang tolong bantu Saya tidak yakin bagaimana menyelesaikan ini dan lebih suka menggunakan Anaconda/Spyder daripada python asli

@jmhcodes , periksa tautan ini: https://stackoverflow.com/questions/41328451/ssl-module-in-python-is-not-available-when-installing-package-with-pip3

Juga di stackoverflow, saya menemukan diskusi lain yang lebih relevan dengan pengulangan tiba-tiba dari kesalahan verifikasi sertifikat SSL yang mulai saya hadapi di PC kerja saya. Tautan diskusi adalah: https://stackoverflow.com/questions/25981703/pip-install-fails-with-connection-error-ssl-certificate-verify-failed-certi

Dalam beberapa jawaban itu, ada pernyataan berikut:

Dalam kasus saya, sertifikat di jaringan perusahaan saya adalah masalahnya.

dan

Saya baru-baru ini mengalami masalah ini karena filter konten web perusahaan saya yang menggunakan Otoritas Sertifikatnya sendiri sehingga dapat memfilter lalu lintas SSL.

Jadi dalam kasus saya, firewall jaringan perusahaan yang merusak pip saya. Tetapi menambahkan files.pythonhosted.org & ** pypi.org sebagai host tepercaya telah menyelesaikan masalah untuk saat ini.

Sejujurnya, saya belum melihat diskusi stackoverflow ke-2 ketika saya menyelesaikan masalah minggu lalu, dan memposting langkah-langkah solusi saya di sini. Sebagian besar tanggapan dalam artikel stackoverflow setuju bahwa menggunakan --trusted-host memecahkan masalah pip mereka juga. Selain dua situs yang disebutkan di atas, mereka juga merekomendasikan untuk menambahkan pypi.python.org

@shriprem

@jmhcodes , periksa tautan ini: https://stackoverflow.com/questions/41328451/ssl-module-in-python-is-not-available-when-installing-package-with-pip3

Juga di stackoverflow, saya menemukan diskusi lain yang lebih relevan dengan pengulangan tiba-tiba dari kesalahan verifikasi sertifikat SSL yang mulai saya hadapi di PC kerja saya. Tautan diskusi adalah: https://stackoverflow.com/questions/25981703/pip-install-fails-with-connection-error-ssl-certificate-verify-failed-certi

Saya telah melihat dua posting ini juga dan saya dapat menambahkannya sebagai tuan rumah tepercaya global dan pergi, tetapi saya tidak cukup nyaman untuk melakukannya.

Apa yang sebenarnya ingin saya jawab adalah mengapa pip berfungsi tanpa masalah SSL/TSL dalam paket python asli di baris cmd TETAPI tidak berfungsi di anaconda Prompt meskipun openssl/libssl-1_1-x64.dll/libcrypto-1_1-x64 .dll semua menunjuk ke lokasi yang sama.

@jmhcodes , jalankan perintah where pip.exe dalam command prompt biasa dan Anaconda prompt. Apakah keduanya mengembalikan jalur yang sama ke pip.exe?

Berikut adalah beberapa perbedaan yang dibawa oleh Anaconda prompt ke lingkungannya dibandingkan dengan command prompt biasa:

  1. Anaconda mengawali 7 subdirektorinya di bagian paling depan dari jalur lingkungan reguler. Anda dapat memeriksa ini dengan menjalankan perintah echo %path% dari dalam kedua lingkungan dan membedakannya. 7 subdirektori tersebut adalah:
    %CONDA_DIR%; %CONDA_DIR%\Library\mingw-w64\bin; %CONDA_DIR%\Library\usr\bin; %CONDA_DIR%\Library\bin; %CONDA_DIR%\Scripts; %CONDA_DIR%\bin; %CONDA_DIR%\condabin;

_ Catatan : %CONDA_DIR% harus diganti dengan jalur instalasi Anaconda Anda._

  1. Anaconda juga mendefinisikan variabel lingkungan baru ini:
    CONDA_DEFAULT_ENV, CONDA_EXE, CONDA_PREFIX, CONDA_PROMPT_MODIFIER, CONDA_PYTHON_EXE, CONDA_SHLVL, PYTHONIOENCODING, PROJ_LIB, _CONDA_SET_PROJ_LIB
    Anda dapat memverifikasi ini dengan menjalankan perintah set dari kedua lingkungan dan membedakannya.

Perbedaan antara kedua lingkungan ini dapat menyebabkan masalah apa pun yang Anda alami. Terserah Anda untuk menggali lebih jauh.

Tetapi jika pip.exe menunjuk ke biner yang sama dari kedua lingkungan, Anda tidak perlu terlalu khawatir tentang lingkungan mana yang Anda gunakan untuk menjalankan pip. Juga, saya tidak akan terlalu khawatir tentang menambahkan situs pip python.org yang sangat terkenal sebagai host tepercaya. Begitu juga banyak di stackoverflow. Itu dua sen saya.

Terakhir, Anda menyebutkan:

Tidak yakin apakah ini penting tetapi OPENSSL_CONF C:\OpenSSL-Win64\bin\openssl.cfg muncul di atas PATH dalam variabel sistem saya.

Itu karena variabel sistem OPENSSL_CONF muncul sebelum PATH ketika terdaftar dalam urutan abjad. Jadi seharusnya tidak masalah untuk masalah yang Anda alami. Atau apakah saya salah mengartikan apa yang Anda katakan?

Promo Anaconda
pip 19.1.1 from C:\ProgramData\Anaconda3\lib\site-packages\pip (python 3.7)

perintah cmd
C:\Users\joshu\AppData\Local\Programs\Python\Python37\Scripts\pip.exe

Tetapi saya bahkan tidak dapat membuka spyder/anaconda nav atau apa pun yang terkait dengan anaconda suite selain anaconda Prompt:

(base) C:\Users\joshu>spyder.exe
Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\external\github.py", line 51, in <module>
    from urllib2 import build_opener, HTTPSHandler, Request, HTTPError
ModuleNotFoundError: No module named 'urllib2'

Selama penanganan pengecualian di atas, pengecualian lain terjadi:

Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 3285, in main
    mainwindow = run_spyder(app, options, args)
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 3140, in run_spyder
    main.setup()
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 809, in setup
    from spyder.plugins.console import Console
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\plugins\console.py", line 37, in <module>
    from spyder.widgets.reporterror import SpyderErrorDialog
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\widgets\reporterror.py", line 26, in <module>
    from spyder.widgets.github.backend import GithubBackend
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\widgets\github\backend.py", line 33, in <module>
    from spyder.utils.external import github
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\external\github.py", line 58, in <module>
    from urllib.request import build_opener, HTTPSHandler, HTTPError, Request
ImportError: cannot import name 'HTTPSHandler' from 'urllib.request' (C:\ProgramData\Anaconda3\lib\urllib\request.py)

Saya bekerja dengan Visual studio Code dan saya memiliki masalah yang sama karena tidak aktif conda virtual env saya menjalankannya

imagen

Apakah halaman ini membantu?
0 / 5 - 0 peringkat