pip dikonfigurasikan dengan lokasi yang memerlukan TLS / SSL, namun modul ssl dengan Python tidak tersedia

216

Saya menggunakan Python3.6, ketika saya mencoba menginstal "modul" menggunakan pip3, saya menghadapi masalah yang disebutkan di bawah "pip dikonfigurasi dengan lokasi yang memerlukan TLS / SSL, namun modul ssl di Python tidak tersedia"

Santosh Kumar G
sumber
1
sistem operasi?
ZiTAL
1
Sistem operasinya adalah oracle linux 7.x
Santosh Kumar G
1
Apakah Anda menginstal pip dari manajer paket? Jika Anda menginstal kompilasi, instal dulu libssl-devatau instal ssl dari pip pip install ssl stackoverflow.com/questions/41098252/…
ZiTAL
37
@ZiTAL piptidak berfungsi karena ssldan Anda meminta untuk menginstal ssl, dengan pip :)
Ramazan Polat

Jawaban:

191

Untuk Windows 10 jika Anda ingin menggunakan pip dalam cmd normal, tidak hanya di Anaconda prompt. Anda perlu menambahkan 3 jalur lingkungan. seperti berikut ini:

D:\Anaconda3; 
D:\Anaconda3\Scripts; 
D:\Anaconda3\Library\bin 

kebanyakan orang hanya menambahkan D: \ Anaconda3 \ Scripts;

无名 小路
sumber
1
Terima kasih, saya telah menambahkan D: \ Anaconda3 \ Library \ bin dan berfungsi, dengan cara libssl-1_1-x64.dll ada di folder itu. (win10x64, python 3.7)
apet
ketika Anda menambahkan ketiga di jalur Anda tutup cmd kembali ke sana dan coba lagi itu akan berhasil.
user3568896
Apa yang Anda maksud dengan jalur lingkungan? maksud Anda variabel lingkungan PATH? ditambah saya tidak memiliki folder tersebut di drive D saya, apakah seharusnya dibuat ketika saya menginstal Anaconda?
Amit Raz
Juga untuk windows 8.1
Antoine
1
Ini TIDAK berfungsi jika seseorang tidak menggunakan Anaconda. Saya telah mengalami masalah ini dengan instalasi OSGeo4W64 dan QGIS 3.10.2. Menambahkan apa yang saya kumpulkan adalah jalur yang benar ke variabel PATH tidak memperbaiki masalah (mis C:\Program Files\QGIS 3.10\apps\Python37\Scripts. :) .
CNIDog
185

MAC OS

Saya memiliki masalah yang sama pada Mac OS (Mojave) dan memecahkan masalah seperti yang disebutkan pada tautan ini - Masalah openssl .

  1. Jika Anda tidak memiliki Homebrew atau tidak tahu apa itu Homebrew:

    / usr / bin / ruby ​​-e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install )"

  2. Atau jika Anda sudah menginstal Homebrew:

brew update && brew upgrade
brew uninstall --ignore-dependencies openssl; brew install https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb

Pembaruan: Perlu diingat, bahwa saya harus menggunakan --ignore-dependenciesflag, karena paket lain diinstal yang bergantung pada OpenSSL.

Tambahan jika masalah disebabkan setelah menggunakan pyenv , Anda dapat memperbaikinya dengan menggunakan:

brew reinstall python
Vaulstein
sumber
5
Setelah menginstal Python versi lain , pip rusak. solusi ini membantu saya memperbaiki.
iMitwe
15
mengapa github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb juga ditambahkan sebagai ketergantungan? :) Saya pikir itu harus dihapus karena sama sekali tidak terkait dan berpotensi tidak aman
Mark
1
Saya mengerti bahwa ini bisa menjadi risiko keamanan tetapi semua pengguna telah meminta untuk menggunakan paket melalui tautan paket resmi - github.com/kelaberetiv/TagUI/issues/635
Vaulstein
1
@Vulstein Sekarang Anda menyebutkannya. Saya pikir saya menginstal beberapa paket menggunakan minuman sebelum ini pecah. Itu tadi gpg.
kecanduan
3
Setelah memutakhirkan dari Mojaveke Catalina, saya menekan ini. Saya hanya perlu brew update && brew upgradeuntuk itu bekerja lagi. Terima kasih atas sarannya!
rustyMagnet
35

Untuk pengguna Debian, berikut ini mungkin bisa digunakan:

sudo -s

apt install libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev libtk8.5 libgdm-dev libdb4o-cil-dev libpcap-dev

Kemudian cd ke folder dengan kode sumber perpustakaan Python 3.X dan jalankan:

./configure
make
make install
Rafael B
sumber
@MehmetKurtipek, saya mengedit jawaban untuk memperjelas langkah. Jika ini masih tidak membantu, harap jelaskan masalah Anda
Rafael B
5
ternyata Python3.7 memiliki masalah yang bagus bersama dengan Ubuntu 14.04 dan lebih lama. Paket SSL minimum yang diwajibkan untuk Python3.7 tidak kompatibel dengan ubuntus lama. Jadi terima kasih sudah mengedit :)
Mehmet Kurtipek
@MehmetKurtipek Server saya adalah 1404. Jadi apa versi terbaru dari python yang tidak memiliki masalah ini. Saya punya python 3.7.4 memiliki masalah yang sama ...
tawaran tidak dapat menolak
@MehmetKurtipek Sudahkah Anda menyelesaikan masalah tanpa memutakhirkan sistem? Saya juga bekerja pada 14,04
tawaran tidak dapat menolak
menggunakan mint19 dan python 3.8, ini memperbaiki masalah saya
5uperdan
21

Untuk pengguna Oracle Linux di masa depan yang mencoba untuk menyelesaikan ini, di bawah ini adalah yang bekerja untuk saya. Pertama instal lib yang hilang:

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel 
readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

Kemudian cd ke pustaka Python3.X Anda dan jalankan:

make
make install 
limboy
sumber
1
Jawaban ini telah mengatasi masalah dengan baik pada CentOS 7. saya
Max
Apa perpustakaan ini? Mengapa mereka dituntut?
Mohit Motwani
Melakukan koneksi aman melalui internet membutuhkan ini - misalnya ketika Anda menjalankan 'pip install'
limboy
@MohitMotwani - fuhgeddaboudit ... urbandictionary.com/define.php?term=fuhgeddaboudit
barrypicker
20

Untuk centos 7:

Instal openssl:

sudo yum install openssl-devel

sekarang direktori python goto kita mengekstraksi tar python,

jalankan perintah di bawah ini

sudo ./configure
sudo make
sudo make install

Ini akan memperbaiki masalah dalam centos ...

PDHide
sumber
10

Untuk Windows 10, windows 7 Jika instalasi pip tidak berfungsi pada CMD prompt, jalankan dengan menggunakan Anaconda prompt - berfungsi.

https://github.com/pypa/virtualenv/issues/1139

Tokci
sumber
6
Saya tahu jawaban yang benar, jika Anda ingin menggunakan pip dalam cmd normal, bukan Anaconda prompt, Anda perlu menambahkan 3 jalur lingkungan: seperti ini: D: \ Anaconda3; D: \ Anaconda3 \ Scripts; D: \ Anaconda3 \ Library \ bin sekarang hanya Skrip!
无名 小路
8

Dalam kasus python Anda yang pyenvdiinstal, di mana pyenv diinstal dengan homebrew di macOS, mungkin ada saya versi yang lebih baru tersedia yang memperbaikinya:

$ brew update && brew upgrade pyenv

Kemudian instal ulang versi python:

$ pyenv install 3.7.2
pyenv: /Users/luckydonald/.pyenv/versions/3.7.2 already exists
continue with installation? (y/N) 

Catatan, itu agak kotor untuk menimpa instal python yang ada seperti itu, tetapi dalam kasus saya itu berhasil.

luckydonald
sumber
5

Untuk OpenSUSE dengan cara yang sama, tetapi beberapa perubahan dari paket yang tercantum di atas:

zypper install zlib-devel libopenssl-devel ncurses-devel sqlite3-devel readline-devel tk-devel gdbm-devel libpcap-devel xz-devel

Lalu cdke sumber Python, dir dan

make
make install

atau

make
make altinstall

Dan mungkin

ln -s /usr/local/lib64/python3.6/lib-dynload/ /usr/local/lib/python3.6/lib-dynload

harus dieksekusi untuk pengguna OpenSUSE. Lihat menginstal Python 3.7 tidak bekerja pada openSUSE Leap 42.3

Evgeny
sumber
5

Mirip dengan solusi di atas instal ulang versi python dengan pyenv.

Entah bagaimana, saya opensslmemutakhirkan versi saya yang memecahkan python versi pyenv.

pyenv install 3.6.8
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
...

Baris pertama mengatakan itu bergantung pada homebrew openssl.

Izana
sumber
4

Coba instal melalui Anaconda prompt

Nishant Wattamwar
sumber
4

Bekerja untukku.

apt-get install libssl-dev

Gunakan ini untuk mengaktifkan ssl untuk pip. Beri tahu saya jika ada yang mengalami masalah.

naman1994
sumber
3

Saya mengalami masalah ini dengan Visual Studio Code menginstal pylint dari prompt VS Code. Saya dapat mengatasi masalah ini dengan membuka direktori instalasi Anaconda dan menjalankannya

pip install pylint

Kemudian VS Code senang, tetapi itu tidak memperbaiki masalah saat berjalan

& C:/Users/happy/Anaconda3/python.exe -m pip install -U pylint

cukup banyak memberikan kesalahan yang sama sehingga tampaknya VS Code tidak dapat mengakses modul python.

Perhatikan bahwa VS Code mengambil python pertama yang dilihatnya saat diinstal, kiri bawah layar menunjukkan env mana yang sedang digunakan. Mengklik area itu memungkinkan untuk mengatur lingkungan. Jadi, bahkan jika Anda menjalankan instalasi pip untuk lingkungan VS Code dapat melihat yang berbeda.

Pendekatan terbaik adalah untuk memastikan bahwa kode VS memiliki lingkungan python yang benar dipilih dan bahwa lingkungan yang sama ada dalam sistem PATH (di bawah System Properties -> Advanced -> Variabel Lingkungan)

Di bawah Path Variable, Edit dan browse ke direktori Anaconda spesifik yang Anda ingin VSCode gunakan dan tambahkan ke PATH, saya perlu menambahkan yang berikut ini:

C:\Users\happy\Anaconda3\
C:\Users\happy\Anaconda3\Scripts\
C:\Users\happy\Anaconda3\Library\bin\
C:\Users\happy\Anaconda3\Library\mingw-w64\bin\

Direktori pemasangan Anaconda Anda mungkin berbeda. Satu catatan adalah bahwa Windows tidak memiliki variabel PATH berlaku sampai Anda me-restart terminal. Dalam hal ini tutup dan buka ulang kode VS. Jika menggunakan Terminal atau PS Shell kemudian tutup dan buka kembali dan periksa Path untuk memastikan itu disertakan.

FastGTR
sumber
3

Saya menggunakan Windows 10 dan menginstal Miniconda 3 dengan Python 3.7.

Saya memecahkan kesalahan ini dengan mengikuti https://github.com/conda/conda/issues/8273 ini

Secara khusus, saya menyalin file-file berikut dari C:\Users\MyUser\Miniconda3\Library\binke C:\Users\MyUser\Miniconda3\DLLs:

  • libcrypto-1_1-x64.dll
  • libcrypto-1_1-x64.pdb
  • libssl-1_1-x64.dll
  • libssl-1_1-x64.pdb
datchung
sumber
2

Jika Anda tidak memiliki Chocolatey, pasanglah - dari sini: https://chocolatey.org/docs/installation

Anda bisa saja menyalin rekatkan satu baris perintah dan menjalankannya dari command prompt dengan hak istimewa yang ditingkatkan.

Instal anaconda, menggunakan baris perintah:

choco install anaconda3

Setel variabel lingkungan:

set PATH=C:\tools\Anaconda3\Scripts;C:\tools\Anaconda3;C:\tools\Anaconda3\Library\bin;%PATH%

dan kemudian jalankan perintah yang gagal. Dalam kasus saya itu adalah:

pip install conan

Anaconda menggunakan instalasi python terpisah, dan pip juga merupakan anaconda khusus.

TarmoPikaro
sumber
1

Seperti kata Tokci, ini juga berfungsi untuk Windows 7.

"Pergilah dengan mouse ke Ikon Windows (kiri bawah) dan mulai mengetik" Anaconda ". Akan muncul beberapa entri yang cocok. Pilih" Anaconda Prompt ". Jendela perintah baru, bernama" Anaconda Prompt "akan terbuka."

Kemudian pip bekerja.

Yang berikut juga membantu mengimpor xgboost: https://www.youtube.com/watch?v=05djBSOs1FA

Ayan Omarov
sumber
Mencari yang setara dengan linux ... tetapi, mengapa ini bekerja dan menggunakan pip dari baris perintah tidak akan? ini hanya masuk akal jika Anda sudah membangun kembali python anaconda dengan SSL sebelumnya di beberapa titik.
matanster
Saya tidak tahu mengapa tetapi apa yang Anda katakan terdengar masuk akal
Ayan Omarov
1

Jika seseorang menggunakan Arch Linux OS, saya memecahkan masalah TLS / SSL dengan menjalankan ini:

sudo pacman -S openssl

Lalu saya bisa menggunakan pip untuk menginstal paket yang saya butuhkan:

pip install openpyxl
Anny Gutierrez
sumber
1

Pergi ke Anaconda prompt dan ketik (jika Anda memiliki python 3.x diinstal pada mesin Anda):

py -m pip install pymysql 

Saya mengalami masalah yang sama dan ini memecahkan masalah saya. nanti setelah melakukan ini, Anda dapat mengimpor pymysql di power shell atau prompt lainnya.

Jay Chhatrala
sumber
1

Mengatasi masalah ini saat memasang python 3.8 dari sumber di ubuntu. Langkah-langkah yang diperlukan untuk menginstalnya dengan sukses di samping python default 3.7 dirangkum di bawah ini:

sudo apt -y install libssl-dev zlib1g-dev build-essential

wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
tar -xf Python-3.8.0.tgz
cd Python-3.8.0/

./configure --enable-optimizations
make
sudo make altinstall

Instruksi instalasi untuk zlib1g-dev dan build-essential adalah mubazir, karena desktop ubuntu sudah memilikinya, tetapi diperlukan untuk beberapa instance EC2 Amazon. python 3.8.0 adalah rilis saat ini sekarang, tetapi harus diganti dengan yang terbaru tersedia.

Instruksi-instruksi ini terbaik untuk menjaga python 3.7 sebagai default untuk python3, dan menjalankan python 3.8 di lingkungan virtual.

dmdip
sumber
1

Masalahnya adalah karena paket OpenSSL tidak ada di PC Anda.

Jika pip install openpyxl juga memberi kesalahan.

Anda dapat memperbaikinya dengan menginstal OpenSSL (Win64 OpenSSL v1.1.1g) dari situs di bawah ini:

slproweb.com/products/Win32OpenSSL.html

Mulai ulang IDE yang Anda gunakan, agar perubahan berlaku.

Ashwani Singh
sumber
0

Saya mengalami masalah ini! Saya tidak sengaja menginstal Miniconda3 versi 32-bit. Pastikan Anda memilih versi 64 bit!

Mike
sumber
0

Ini bekerja untuk saya:

yum install python36-pyOpenSSL 

versi python dan manajer paket mungkin berbeda.

Andrysha
sumber
0

Saya mencoba:

python -m pip install --upgrade pip

Dan setelah itu, berfungsi baik untuk saya di Windows 10.

Raj Kumar
sumber
0

Memperbaiki ini tanpa harus mengubah apa pun yang terkait dengan TSL / SSL.

Saya mencoba melihat apakah hal yang sama terjadi pip, dan melihat pipitu rusak. Melakukan beberapa penggalian dan menyadari bahwa itu mungkin disebabkan oleh Homebrew yang dihapus python@2pada 1 Februari 2020.

Lari brew uninstall python@2 untuk menghapus python2 yang diinstal oleh Homebrew.

Hancurkan env virtual yang dibuat menggunakan python3dan membuat yang baru.
pip3menginstal berfungsi dengan baik lagi.

Gary Bao Yutong 鲍昱 彤
sumber
3
Bagi saya, beralih ke versi yang lebih lama opensslberfungsi: brew switch openssl 1.0.2t Saya menggunakan Mac OS Catalina 10.15.3. Semoga ini bisa membantu.
viraj.kulkarni
0

Dalam kasus saya, saya menginstal ulang pyhone. Itu memecahkan masalah.

brew reinstall python
pengguna2446776
sumber
-1

Ini adalah masalah dengan pengaturan ssl default Anda. Anda harus mengunduh Python3 dan menambahkan path ke sistem Anda. Jika Anda menggunakan Pycharm, atur interpreter ke jalur python3 Anda. Maka Anda biasanya dapat menggunakan pip3 tanpa kesalahan.

Kadal air
sumber
-1

Masalahnya mungkin berasal dari versi paket openssl Anda yang diinstal. Itulah yang terjadi pada saya dan saya memperbaiki masalah ini hanya memutakhirkannya. Saya menggunakan Mac OS, menggunakan minuman:

brew upgrade openssl

Jika Anda menginstal python dengan brew, ini harus langsung memperbaiki masalah dengannya, karena python bergantung pada openssl

claudod
sumber
-1

Anda sudah mencoba dari Anaconda Prompt.

Anda akan melihat (basis), sekarang perbarui pip. Contoh:

(base) C:\Users\Tom>cd ..

(base) C:\Users>cd ..

(base) C:\>python -m pip install --upgrade pip
Requirement already up-to-date: pip in g:\anaconda3\lib\site-packages (20.0.2)

(base) C:\>pip -V
pip 20.0.2 from G:\Anaconda3\lib\site-packages\pip (python 3.7)

# Try install
(base) C:\>pip install selenium

Ini membutuhkan waktu lebih lama, tetapi juga akan menginstal atau meningkatkan pustaka SSL yang digunakan Anaconda secara internal. Teruslah ke sini

Gionthelawa
sumber
Jawaban ini mengasumsikan menggunakan conda pada Windows, bukan vanilla python di Linux seperti yang ditunjukkan OP
hrbdg