Saya telah menginstal Python 3.4 dan Python 3.6 di mesin lokal saya dengan sukses, tetapi saya tidak dapat menginstal paket dengan pip3
.
Ketika saya menjalankan pip3 install <package>
, saya mendapatkan kesalahan terkait SSL berikut :
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting <package>
Could not fetch URL https://pypi.python.org/simple/<package>/: 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 <package> (from versions: )
No matching distribution found for <package>
Bagaimana cara memperbaiki instalasi Python3.x saya sehingga saya dapat menginstal paket pip install <package>
?
sudo apt-get install python3-pip
??pip3 install --upgrade pip
dan lihat apakah Anda mendapatkan pesan yang sama atau tidak.Jawaban:
Panduan langkah demi langkah untuk menginstal Python 3.6 dan pip3 di Ubuntu
Instal paket yang diperlukan untuk Python dan ssl:
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
Unduh dan unzip "Python-3.6.8.tar.xz" dari https://www.python.org/ftp/python/ ke direktori home Anda.
Buka terminal di direktori itu dan jalankan:
$ ./configure
Bangun dan pasang:
$ sudo make && sudo make install
Instal paket dengan:
$ pip3 install package_name
sumber
Jika Anda menggunakan Red Hat / CentOS:
sumber
openssl-devel
dijalankanpython2.7 get-pip.py
Jika Anda menggunakan Windows dan menggunakan anaconda, ini berfungsi untuk saya:
Saya mencoba banyak solusi lain yang tidak berfungsi (Perubahan Variabel PATH Lingkungan ...)
Masalahnya dapat disebabkan oleh DLL di folder Windows \ System32 (misalnya libcrypto-1_1-x64.dll atau libssl-1_1-x64.dll atau lainnya) yang ditempatkan di sana oleh perangkat lunak lain.
Perbaikannya adalah menginstal openSSL dari https://slproweb.com/products/Win32OpenSSL.html yang menggantikan dll dengan versi yang lebih baru.
sumber
Saya mengalami masalah serupa di OSX 10.11 karena menginstal memcache yang menginstal python 3.7 di atas 3.6.
Menghabiskan waktu berjam-jam untuk membatalkan tautan openssl, menginstal ulang, mengubah jalur .. dan tidak ada yang membantu. Mengubah versi openssl kembali dari ke versi lama melakukan trik:
Saya tidak melihat saran ini di mana pun di internet. Berharap itu melayani seseorang.
sumber
brew switch openssl 1.0.2s
. Tapi hanya itu. Anda telah menyelamatkan saya, terima kasih!openssl
berhasil:brew switch openssl 1.0.2t
Saya menggunakan Mac OS Catalina 10.15.3. Semoga membantu.Setuju dengan jawaban dari mastaBlasta. Bekerja untuk saya. Saya mengalami masalah yang sama dengan deskripsi topik.
Lingkungan: MacOS Sierra. Dan saya menggunakan Homebrew.
Solusi saya:
brew uninstall openssl; brew install openssl
Menurut petunjuk yang diberikan oleh Homebrew, lakukan hal berikut:
sumber
brew uninstall openssl, brew install openssl
. Saya mencobabrew reinstall openssl
yang tidak berpengaruh. Tapi uninstall / install bekerja!brew uninstall --ignore-dependencies openssl
Di Ubuntu, ini dapat membantu:
sumber
Downgrading openssl berhasil untuk saya,
sumber
Masalahnya mungkin karena perpustakaan tidak ada.
Sebelum Anda menginstal python 3.6, pastikan Anda menginstal semua pustaka yang diperlukan untuk python.
Informasi lebih lanjut di Cara Menginstal Python 3.6.0 di Ubuntu & LinuxMint
sumber
Jika Anda menggunakan OSX dan telah mengompilasi python dari sumber:
Instal openssl menggunakan brew
brew install openssl
Pastikan untuk mengikuti instruksi yang diberikan minuman kepada Anda tentang pengaturan
CPPFLAGS
danLDFLAGS
. Dalam kasus saya, saya menggunakan[email protected]
rumus minuman dan saya memerlukan 3 pengaturan ini untuk proses pembuatan python untuk menautkan dengan benar ke perpustakaan SSL saya:Dengan asumsi perpustakaan diinstal di lokasi itu.
sumber
openssl
berhasil:brew switch openssl 1.0.2t
Saya menggunakan Mac OS Catalina 10.15.3. Semoga membantu.Saya mengalami masalah yang sama di windows 10. Masalah saya yang sangat spesifik adalah karena instalasi Anaconda saya. Saya menginstal Anaconda dan di bawah jalan setapak
Path/to/Anaconda3/
, muncullahpython.exe
. Jadi, saya tidak menginstal python sama sekali karena Anaconda menyertakan python. Saat menggunakan pip untuk menginstal paket, saya menemukan laporan kesalahan yang samapip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
,.Solusinya adalah sebagai berikut:
1) Anda dapat mengunduh python lagi di situs web resmi ;
2) Arahkan ke direktori tempat
"Python 3.7 (64-bit).lnk"
berada3)
import ssl
danexit()
4) ketik cmd,
"Python 3.7 (64-bit).lnk" -m pip install tensorflow
misalnya.Di sini, Anda sudah siap.
sumber
cmd /c $py .\main.py
( Powershell ) ataucmd /c %py% .\main.py
( Dos ). Ini akan menjalankannya di shell Anda yang ada dan dapat diberi skripJika Anda menggunakan Windows dan menggunakan Anaconda, Anda dapat mencoba menjalankan perintah "pip install ..." di Anaconda Prompt sebagai ganti cmd.exe, seperti yang disarankan oleh pengguna willliu1995 di sini . Ini adalah solusi tercepat bagi saya, yang tidak memerlukan pemasangan komponen tambahan.
sumber
Saya mencoba BANYAK cara untuk memecahkan masalah ini dan tidak ada yang terpecahkan. Saya saat ini menggunakan Windows 10.
Satu-satunya hal yang berhasil adalah:
Kemudian saya telah mengunduh semua lib yang saya butuhkan menggunakan PIP ... dan berhasil!
Tidak tahu mengapa, atau apakah masalahnya terkait dengan Anaconda.
sumber
untuk pengguna osx brew
masalah saya muncul terkait dengan instalasi python saya dan dengan cepat diselesaikan dengan menginstal ulang python3 dan pip. Saya pikir itu mulai bertingkah buruk setelah pembaruan OS tetapi siapa tahu (saat ini saya menggunakan Mac OS 10.14.6)
sumber
brew reinstall python3 --force
sudah cukup:pip
berfungsi lagi setelah itu, saya tidak perlu menginstal ulangpip
.Anda dapat melakukan salah satu dari keduanya:
atau
\ Anaconda
\ Anaconda \ Library \ mingw-w64 \ bin
\ Anaconda \ Library \ usr \ bin
\ Anaconda \ Library \ bin
\ Anaconda \ Script
\ anaconda \ Library
\ anaconda \ condabin
Tambahkan jalur di atas ke variabel sistem "Jalur" dan seharusnya tidak lagi menampilkan kesalahan :)
sumber
Saya mengalami masalah yang sama dan dapat mengatasinya dengan langkah-langkah berikut:
tergantung pada perms, Anda mungkin tidak perlu sudo.
sekarang harus bisa lari
dan
Saat menginstal paket:
atau bergantung pada perms, Anda juga bisa menambahkan flag --user seperti ini:
sumber
The
ssl
modul pembungkus TLS / SSL untuk mengakses Operasi Sytem (OS) socket ( Lib / ssl.py ). Jadi ketikassl
modul tidak tersedia, kemungkinan besar Anda tidak menginstal pustaka OS OpenSSL, atau pustaka tersebut tidak ditemukan saat Anda menginstal Python. Anggap saja ini adalah kasus nanti (alias: Anda sudah menginstal OpenSSL, tetapi mereka tidak ditautkan dengan benar saat menginstal Python).Saya juga akan menganggap Anda menginstal dari sumber. Jika Anda menginstal dari biner (yaitu: file .exe Window), atau paket (Mac .dmg, atau Ubuntu apt), tidak banyak yang dapat Anda lakukan dengan proses instalasi.
Selama langkah mengonfigurasi instalasi python Anda, Anda perlu menentukan di mana OS OpenSSL akan digunakan untuk menautkan:
Jadi di mana Anda akan menemukan direktori OpenSSL yang Anda instal?
Sistem Anda mungkin berbeda dengan saya, tetapi seperti yang Anda lihat di sini, saya memiliki banyak pustaka openssl yang terinstal. Pada saat penulisan ini, python 3.8 mengharapkan openssl 1.0.2 atau 1.1:
Jadi, Anda perlu memverifikasi perpustakaan terinstal mana yang dapat Anda gunakan untuk menautkan, misalnya
Anda mungkin perlu mencoba beberapa, atau menginstal yang baru, untuk menemukan pustaka yang akan bekerja untuk Python dan OS Anda.
sumber
Dalam kasus saya dengan menggunakan Mac, saya menghapus
/Applications/Python 3.7
. karena saya sudah memiliki Python3.7 olehbrew install python3
.Tapi itu adalah pemicu pesan itu
Apa yang saya lakukan dalam situasi saya
/Applications/Python3.6/Install Certificates.command
dan/Applications/Python3.6/Update Shell Profile.command
.pip.conf
. Lihat instalasi pip gagal .sumber
Saya akhirnya menyelesaikan masalah ini. Ini adalah detail dari env saya:
Versi Python yang akan diinstal: 3.6.8
OS: Ubuntu 16.04.6 LTS
Akses root: Tidak
Beberapa orang menyarankan untuk menginstal
libssl-dev
, tetapi tidak berhasil untuk saya. Saya mengikuti tautan ini dan saya memperbaikinya!Singkatnya, saya mengunduh, mengekstrak, membangun, dan menginstal OpenSSL (openssl-1.1.1b.tar.gz). Kemudian, saya memodifikasi
.bashrc
file mengikuti tautan ini .Selanjutnya saya download dan ekstrak Python-3.6.8.tgz. Saya mengedit Modules / Setup.dist untuk mengubah jalur SSL (baris di sekitar # 211). Saya lakukan
./configure --prefix=$HOME/opt/python-3.6.8
,make
danmake install
. Terakhir, saya memodifikasi file.bashrc
. Perhatikan bahwa saya tidak menyertakan--enable-optimizations
dalam./configure
.sumber
Di macos, konfigurasikan python 3.8.1 dengan perintah di bawah ini akan menyelesaikan masalah, saya pikir itu juga akan berfungsi di Linux.
ubah parameter dir berdasarkan sistem Anda.
sumber
Jika Anda menggunakan OSX dan jika solusi lain tidak berfungsi untuk Anda (seperti saya).
Anda dapat mencoba mencopot pemasangan python3 dan memutakhirkan pip3
Ini berhasil untuk saya;)
sumber
(BUKAN di Windows!)
Ini membuat saya merobek rambut saya selama seminggu, jadi saya harap ini akan membantu seseorang
Saya mencoba semuanya kecuali menginstal ulang Anaconda dan / atau Jupyter.
Mempersiapkan
./anaconda3/bin/python
)/usr/bin/python
dan/usr/bin/python3
(tapi ini tidak digunakan karena sebagian besar pekerjaan dilakukan di terminal Jupyter)Memperbaiki
Di terminal Jupyter:
cp /usr/lib64/libssl.so.10 ./anaconda3/lib/libssl.so.1.0.0
cp /usr/lib64/libcrypto.so.10 ./anaconda3/lib/libcrypto.so.1.0.0
Apa yang memicu ini?
Jadi, ini semua berhasil sampai saya mencoba melakukan a
conda install conda-forge
Saya tidak yakin apa yang terjadi, tetapi konda pasti telah diperbarui
openssl
pada kotak (saya menebak) jadi setelah ini, semuanya rusak.Pada dasarnya, tidak saya ketahui, conda telah memperbarui openssl, tetapi entah bagaimana menghapus perpustakaan lama dan menggantinya dengan
libssl.so.1.1
danlibcrypto.so.1.1
.Python3, saya kira, telah dikompilasi untuk dicari
libssl.so.1.0.0
Pada akhirnya, kunci diagnosis adalah ini:
python -c "import ssl; print (ssl.OPENSSL_VERSION)"
memberi petunjuk
library "libssl.so.1.0.0" not found
Asumsi besar yang saya buat adalah bahwa
yum
versi ssl sama denganconda
versinya, jadi hanya mengganti nama objek bersama mungkin berhasil, dan itu berhasil.Solusi saya yang lain adalah mengkompilasi ulang python, menginstal ulang anaconda, dll, tetapi pada akhirnya saya senang saya tidak perlu melakukannya.
Semoga ini bisa membantu kalian.
sumber
Dalam kasus menggunakan
pyenv
untuk mengelola instalasi python di Mac OS Catalina, saya harus menginstalopenssl
dengan brew terlebih dahulu dan kemudian setelah itu menjalankanpyenv install 3.7.8
yang sepertinya membangun instalasi python menggunakanopenssl
dari homebrew (bahkan dikatakan seperti itu di output instalasi). Kemudianpyenv global 3.7.8
dan saya pergi.sumber
Saya dapat memperbaikinya dengan memperbarui versi python di file ini. pyenv: versi `3.6.5 'tidak diinstal (ditetapkan oleh /Users/taruntarun/.python-version) Meskipun saya telah menginstal versi terbaru, perintah saya masih menggunakan versi lama 3.6.5
Pindah ke versi 3.7.3
sumber
Saya mengalami masalah yang sama selama dua hari terakhir dan hanya memperbaikinya sekarang.
Saya telah mencoba menggunakan
--trust-host
opsi denganDigiCert_High_Assurance_EV_Root_CA.pem
tidak berfungsi, saya tidak dapat menginstal modul ssl (Ini memberi tahu itu tidak dapat diinstal untuk versi python yang lebih besar dari 2.6), pengaturan$PIP_CERT
variabel juga tidak memperbaikinya dan saya telahlibssl1.0.2
danlibssl1.0.0
menginstal. Juga perlu disebutkan bahwa saya tidak memiliki~/.pip/pip.conf
file, dan membuatnya juga tidak menyelesaikan bug.Apa yang akhirnya menyelesaikannya, adalah menginstal python3.6 dengan
make
lagi. Unduh Python-3.6.0.tgz dari situs web, jalankanconfigure
lalumake
,make test
danmake install
. Semoga berhasil untuk Anda.sumber
The dokumentasi python sebenarnya sangat jelas, dan mengikuti petunjuk melakukan pekerjaan sedangkan jawaban yang lain saya temukan di sini tidak memperbaiki masalah ini.
pertama, instal python 3.xx dari sumber menggunakan, misalnya dengan versi 3.6.2 https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
pastikan Anda telah menginstal openssl dengan menjalankan
brew install openssl
unzip dan pindah ke direktori python:
tar xvzf Python-3.6.2.tar.xz && cd Python-3.6.2
lalu jika versi python <3.7, jalankan
CPPFLAGS="-I$(brew --prefix openssl)/include" \ LDFLAGS="-L$(brew --prefix openssl)/lib" \ ./configure --with-pydebug
5. terakhir, jalankanmake -s -j2
(-s
adalah tanda diam,-j2
memberi tahu mesin Anda untuk menggunakan 2 pekerjaan)sumber
Saya memiliki masalah yang sama saat mencoba menginstal python3.7 pada mesin ubuntu14.04. Masalahnya adalah saya memiliki beberapa folder khusus di PKG_CONFIG_PATH saya dan di LD_LIBRARY_PATH saya, yang mencegah proses pembuatan python untuk menemukan perpustakaan sistem openssl.
jadi cobalah untuk membersihkannya dan lihat apa yang terjadi:
sumber
Ok jawaban terbaru untuk ini, seperti sekarang jangan gunakan Python 3.8 , gunakan hanya 3.7 atau kurang, karena sebagian besar pustaka gagal menginstal dengan kesalahan di atas
sumber
gcc
,openssl
danzlib
. Jadi penting untuk menginstal prasyarat ini sebelum mengkompilasi python terutama bila digunakan di linux.