Saya mencoba menginstal pustaka Python menggunakan pip
, mendapatkan kesalahan SSL:
~/projects/base pre-master± pip install xdict
Collecting xdict
Could not fetch URL https://pypi.python.org/simple/xdict/: There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) - skipping
Could not find a version that satisfies the requirement xdict (from versions: )
No matching distribution found for xdict
versi pip: pip 9.0.1
Bagaimana cara memperbaiki kesalahan ini?
python
python-2.7
pip
ssl-certificate
Nishant Nawarkhede
sumber
sumber
Jawaban:
Tingkatkan pip sebagai berikut:
Catatan: Anda mungkin perlu menggunakan di
sudo python
atas jika tidak dalam lingkungan virtual.(Perhatikan bahwa peningkatan
pip
menggunakanpip
yaitupip install --upgrade pip
juga tidak akan memutakhirkan dengan benar. Ini hanya masalah ayam dan telur. Tidakpip
akan berfungsi kecuali menggunakan TLS> = 1.2.)Seperti disebutkan dalam jawaban terperinci ini , ini disebabkan oleh penghentian TLS baru-baru ini untuk pip. Situs Python.org telah menghentikan dukungan untuk TLS versi 1.0 dan 1.1.
Dari halaman status Python:
Untuk pengguna PyCharm (virtualenv):
Jalankan lingkungan virtual dengan shell. (ganti "./venv/bin/activate" ke jalur Anda sendiri)
Jalankan peningkatan
Mulai ulang instance PyCharm Anda, dan periksa interpreter Python Anda di Preferensi .
sumber
sudo
di depan karena izin ditolak kesalahan. Terima kasih!curl https://bootstrap.pypa.io/get-pip.py | sudo python
sudo
jika tidak dalam lingkungan virtual. Menambahkan sedikit itu juga di jawabannya sekarang.curl https://bootstrap.pypa.io/get-pip.py | sudo -H python3
Tetapi jika
curl
perintah itu sendiri gagal dengan kesalahan, atau "tlsv1 alert protokol versi" tetap ada bahkan setelah upgradepip
, itu berarti sistem pustaka OpenSSL yang mendasari versi Anda <1.0.1
atau versi Python <2.7.9
(atau <3.4
dengan Python 3) tidak mendukung protokol TLS 1.2 yang lebih baru yangpip
perlu terhubung ke PyPI sejak sekitar setahun yang lalu . Anda dapat dengan mudah memeriksanya dengan juru bahasa Python:The
AttributeError
(bukan yang diharapkan '5') berartissl
modul Python stdlib Anda , dikompilasi dengan lib openssl lama, tidak memiliki dukungan untuk protokol TLSv1.2 (bahkan jika perpustakaan openssl dapat atau dapat diperbarui nanti).Untungnya, ini dapat diselesaikan tanpa memutakhirkan Python (dan seluruh sistem), dengan menginstal paket Python tambahan secara manual - panduan langkah demi langkah yang terperinci tersedia di Stackoverflow .
sumber
pip3
, bukan hanyapip
- memeriksa versi dengan perintah-V
untuk memastikan Anda menjalankan pip yang benar !!Mengikuti jawaban Anupam pada OS X menghasilkan kesalahan berikut untuk saya, terlepas dari izin yang saya gunakan untuk menjalankannya:
Apa yang akhirnya berhasil adalah mengunduh paket pip yang lebih baru (9.0.3) dari PyPI langsung dari browser saya - https://pypi.org/simple/pip/ , ekstrak kontennya, lalu pip instal paket tersebut secara lokal:
Ini memperbaiki
[SSL: TLSV1_ALERT_PROTOCOL_VERSION]
kesalahan saya .sumber
Solusi @Anupam bekerja untuk saya. Namun, saya harus menggunakan
sudo
dan menentukan lokasi yang tepat dari lingkungan Python virtual saya:sumber
Untuk meningkatkan versi lokal saya menggunakan sedikit variasi:
Masalah ini muncul jika Anda menyimpan pip dan paket Anda di bawah direktori home Anda seperti yang dijelaskan dalam intisari ini .
sumber
Solusi berikut ini berhasil untuk saya:
Itu juga ditingkatkan
pip
ke versi 1.10.1sumber
Periksa versi TLS Anda:
Jika versi TLS Anda kurang dari 1,2, Anda harus memutakhirkannya karena repositori PyPI berada pada periode brownout dari penghentian TLS awal.
Sumber - Waktu Untuk Meng-upgrade Python Anda: TLS v1.2 Akan Segera Wajib
Anda dapat memutakhirkan versi TLS menggunakan perintah berikut:
Ini akan memperbaiki masalah Anda. Semoga berhasil!
EDIT: Anda dapat mengunduh paket menggunakan repositori paket python pribadi Anda terlepas dari versi TLS. Repositori Paket Python Pribadi
sumber
Ini berhasil untuk saya. Tambahkan sudo sebelum python
sumber
Untuk Pengguna Python2 WIN10:
1.Uninstall python secara menyeluruh, sertakan semua folder.
2. Ambil dan instal python-2.7.msi terbaru (ver 2.7.15)
3.Setelah langkah 2, Anda mungkin menemukan pip telah diinstal juga.
4. Sekarang, jika system'env Anda belum diubah, Anda dapat menggunakan pip untuk menginstal paket sekarang. "Versi protokol peringatan tlsv1" tidak akan muncul.
sumber
Saya mencoba semua perbaikan yang ada dan tidak bekerja untuk saya
Saya menginstal ulang python 2.7 (juga akan menginstal pip) dengan mengunduh .pkg di https://www.python.org/downloads/mac-osx/
berfungsi untuk saya setelah instalasi pkg diunduh
sumber
Saya mengalami masalah ini juga. Masalah yang mendasarinya adalah bahwa ssl library di Python 2.7 versi <2.7.9 tidak lagi kompatibel dengan mekanisme pip.
Jika Anda menjalankan pada Windows, dan Anda (seperti kami) tidak dapat dengan mudah memutakhirkan dari versi 2.7, FWIW yang tidak kompatibel, saya menemukan bahwa jika Anda menyalin file-file berikut dari instalasi lain dari versi terbaru Python (mis. Python 2.7. 15) pada komputer lain ke instalasi Anda:
itu akan secara efektif "meningkatkan" lapisan SSL Anda ke yang didukung; kami kemudian dapat menggunakan pip lagi, bahkan untuk memutakhirkan pip.
sumber
Jawaban menginstal pip melalui:
curl https://bootstrap.pypa.io/get-pip.py |sudo python
ataucurl https://bootstrap.pypa.io/get-pip.py | python
tidak bekerja untuk saya karena saya terus mendapatkan kesalahan:
Saya harus menginstal
pip
secara manual melalui:pip
distribusitar.gz
versinyacd
ke direktoripython setup.py install
sumber
Ini bekerja untuk saya, saya menginstal versi terbaru dari pip dan kemudian menginstal library ( ciscoconfparse ).
Memutakhirkan pip:
sumber
myenv:
python 2.7.14
pip 9.0.1
mac osx 10.9.4
mysolution:
unduh
get-pip.py
secara manual dari https://packaging.python.org/tutorials/installing-packages/Lari
python get-pip.py
referensi:
https://github.com/pypa/warehouse/issues/3293#issuecomment-378468534
https://packaging.python.org/tutorials/installing-packages/
sumber
Saya juga menemukan masalah ini di windows10 saya dan mencoba semua jawaban tetapi tidak menyelesaikan masalah saya.
Setelah itu, saya menemukan file konfigurasi pip telah dimodifikasi. Jadi, saya menetapkan
pip.ini
sebagai konfigurasi default asli, jalankan kembali perintah pip dan berfungsi untuk saya!Singkatnya solusi saya:
Periksa pip.ini (biasanya di bawah jalan
C:\ProgramData\pip
) telah dimodifikasi;Jika ya pada langkah 1, cobalah untuk mengatur ulang ke konfigurasi default.
sumber
Atau hanya perpustakaan yang diperlukan saja tidak ada dalam repo. Saya pemula Python dan semua saran tentang memutakhirkan pip akhirnya ditampilkan sebagai menyesatkan. Saya baru saja melihat ke https://pypi.org/ , menemukan perpustakaan (aliran udara dalam kasus saya) berhenti di beberapa versi lama, setelah itu berganti nama. Ya, juga solusi konyol itu juga mungkin :-).
sumber
Untuk semua
python3
danpip3
pengguna di luar sana:dan kemudian asumsikan Anda ingin menginstal panda
sumber