“Modul ssl dengan Python tidak tersedia” saat menginstal paket dengan pip3

122

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>?

Harukaze
sumber
4
Apakah Anda secara eksplisit menginstal pip3 di ubuntu Anda dengan perintah sudo apt-get install python3-pip??
Sidahmed
2
Silakan coba pip3 install --upgrade pipdan lihat apakah Anda mendapatkan pesan yang sama atau tidak.
Herry

Jawaban:

92

Panduan langkah demi langkah untuk menginstal Python 3.6 dan pip3 di Ubuntu

  1. 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

  2. Unduh dan unzip "Python-3.6.8.tar.xz" dari https://www.python.org/ftp/python/ ke direktori home Anda.

  3. Buka terminal di direktori itu dan jalankan: $ ./configure

  4. Bangun dan pasang: $ sudo make && sudo make install

  5. Instal paket dengan: $ pip3 install package_name

arsho
sumber
4
Bekerja pada "Raspbian GNU / Linux 9 (stretch)"
Oktay
2
Terima kasih! Saya berkeliling berputar-putar mendapatkan python3 bekerja di Ubuntu 14.04 sampai saya menemukan daftar perintah ini.
jerrylogansquare
2
Penyelamat Ubuntu saya.
markroxor
6
Ini berhasil untuk saya. Terimakasih banyak. Satu hal yang tidak bisa saya pikirkan, mengapa tidak memulai dengan langkah 4 dan hanya "make; make install" sekali?
Paraphiliac Ostrich
1
Bekerja di Ubuntu Beaver. Saya menggunakan python3.7 dan pip 19, selalu dengan masalah SSL .....
eduardosufan
62

Jika Anda menggunakan Red Hat / CentOS:

# To allow for building python ssl libs
yum install openssl-devel
# Download the source of *any* python version
cd /usr/src
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
tar xf Python-3.6.2.tar.xz 
cd Python-3.6.2

# Configure the build w/ your installed libraries
./configure

# Install into /usr/local/bin/python3.6, don't overwrite global python bin
make altinstall
Aelfinn
sumber
bekerja untuk python 2.7 juga. cukup tambahkan make dan buat altinstall
Jabda
Jika Anda membutuhkan virtualenv, Anda harus menjalankan sudo /usr/local/bin/pip3.7 install virtualenv. Terima kasih atas jawaban ini!
teknokrat
luar biasa, saya mengalami masalah saat menginstal python 2.7.13 untuk image buruh pelabuhan lama dan perlu openssl-develdijalankanpython2.7 get-pip.py
Felipe
59

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.

juergi
sumber
2
Saya baru saja menginstalnya. Dalam daftar program yang diinstal di sistem saya, saya memiliki tiga versi OpenSSL (dua versi 64 bit dan satu versi 32 bit, meskipun saya menggunakan sistem 64 bit). Saya tidak menyadari telah menginstal semuanya, jadi saya meninggalkannya di sana.
juergi
1
Ini adalah solusi paling mudah yang saya temukan setelah banyak pencarian. Pip tidak berfungsi karena kesalahan OpenSSL. Spyder juga macet saat diluncurkan karena kesalahan "tidak dapat mengimpor nama 'HTTPSHandler' dari 'urllib.request'". Ini diisolasi ke windows 10 python 3 untuk saya. Berkomentar untuk semoga membantu menautkan solusi untuk orang yang googling, sebagian besar hasil teratas adalah solusi lama dan kompleks.
Dick McManus
8
Jika Anda menggunakan Windows dan menggunakan Anaconda, gunakan saja Anaconda Prompt alih-alih cmd untuk menjalankan "pip install". Tidak ada perubahan DLL / SSL tambahan yang diperlukan.
FatihAkici
1
@FatihAkici - Terima kasih banyak. Itu membantu saya.
Raju Penumatsa
2
Saya akan merusak komputer saya, menggunakan pycharm pada banyak mesin dan OS tetapi di windows baru ini saya menginstal anaconda dan tampaknya itu rusak pip. Saya browsing selama 2 jam, terima kasih banyak sobat. <3
Benoit F
35

Saya mengalami masalah serupa di OSX 10.11 karena menginstal memcache yang menginstal python 3.7 di atas 3.6.

PERINGATAN: pip dikonfigurasi dengan lokasi yang memerlukan TLS / SSL, namun modul ssl di Python tidak tersedia.

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:

brew switch openssl 1.0.2e

Saya tidak melihat saran ini di mana pun di internet. Berharap itu melayani seseorang.

dsomnus.dll
sumber
3
Saya memiliki masalah yang sama dengan MacOS Catalina 10.5.4 (Beta), sekarang berfungsi. Terima kasih!
Peter Rosemann
14
Bagi saya itu brew switch openssl 1.0.2s. Tapi hanya itu. Anda telah menyelamatkan saya, terima kasih!
antonio
3
Mencoba ini tetapi saya terus mengatakan bahwa openssl tidak memiliki versi "1.0.2e" di Cellar. openssl tidak memiliki versi "1.0.2s" di Cellar.
James Parker
Antonio, James: versi lama apa pun yang Anda miliki. My Cellar memiliki 1.0.2e jadi saya menggunakan ini. Saya senang ini membantu.
dsomnus
4
Terima kasih banyak! Bagi saya, solusi Anda untuk beralih ke versi lama opensslberhasil: brew switch openssl 1.0.2t Saya menggunakan Mac OS Catalina 10.15.3. Semoga membantu.
viraj.kulkarni
25

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:

  1. Instal ulang openssl oleh brew uninstall openssl; brew install openssl
  2. Menurut petunjuk yang diberikan oleh Homebrew, lakukan hal berikut:

    echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
    export LDFLAGS="-L/usr/local/opt/openssl/lib"
    export CPPFLAGS="-I/usr/local/opt/openssl/include"
nathanyu
sumber
3
Terima kasih, triknya adalah brew uninstall openssl, brew install openssl. Saya mencoba brew reinstall opensslyang tidak berpengaruh. Tapi uninstall / install bekerja!
Jeff Tian
6
harus laribrew uninstall --ignore-dependencies openssl
elad perak
16

Di Ubuntu, ini dapat membantu:

cd Python-3.6.2
./configure --with-ssl
make
sudo make install
tingtinghuang
sumber
4
Mengapa kita sebenarnya harus membangun python dari sumber untuk ini? apakah tidak ada solusi yang berfungsi dengan distribusi python standar? Saya berharap secara naif menambahkan modul ini akan mungkin tanpa menimpa biner python, yang kita tidak selalu mudah mengetahui lokasi sumber yang sesuai, pada sistem langsung yang tidak baru diinstal.
matanster
Mencoba ini, tidak mengubah apa pun
nomor pengguna
9
Saya mendapat peringatan yang mengatakan opsi ini tidak dikenali
ma3oun
Saya harus menambahkan beberapa 'sudo' ke perintah-perintah itu, tetapi mereka bekerja di mana jawaban lain gagal!
Paco Abato
6

Downgrading openssl berhasil untuk saya,

brew switch openssl 1.0.2s
Nishant Nawarkhede
sumber
1
bekerja untuk saya, terima kasih banyak
Mazhar Ahmed
5

Masalahnya mungkin karena perpustakaan tidak ada.

Sebelum Anda menginstal python 3.6, pastikan Anda menginstal semua pustaka yang diperlukan untuk python.

$ sudo apt-get install build-essential checkinstall 
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

Informasi lebih lanjut di Cara Menginstal Python 3.6.0 di Ubuntu & LinuxMint

PengShaw
sumber
5

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 CPPFLAGSdan LDFLAGS. 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:

export LDFLAGS="-L/usr/local/opt/[email protected]/lib"
export CPPFLAGS="-I/usr/local/opt/[email protected]/include"
export PKG_CONFIG_PATH="/usr/local/opt/[email protected]/lib/pkgconfig"

Dengan asumsi perpustakaan diinstal di lokasi itu.

mastaBlasta
sumber
masih masalah yang sama
Gaurav Paliwal
Coba instal ulang pip
mastaBlasta
@GauravPaliwal, @mastaBlasta: Bagi saya, beralih ke versi lama opensslberhasil: brew switch openssl 1.0.2t Saya menggunakan Mac OS Catalina 10.15.3. Semoga membantu.
viraj.kulkarni
5

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/, muncullah python.exe. Jadi, saya tidak menginstal python sama sekali karena Anaconda menyertakan python. Saat menggunakan pip untuk menginstal paket, saya menemukan laporan kesalahan yang sama pip 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"berada

3) import ssldanexit()

4) ketik cmd, "Python 3.7 (64-bit).lnk" -m pip install tensorflowmisalnya.

Di sini, Anda sudah siap.

Yanqi Huang
sumber
Bukan perbaikan, tapi pasti menyelesaikan pekerjaan. Setidaknya membantu Anda menginstal deps yang hilang. Apa yang saya sadari di mesin lokal saya, adalah bahwa saya memiliki entri yang bertentangan dalam variabel PATH saya untuk python (mis. Anaconda 2.7 64-bit dan Python 3.7 32-bit)
AP.
Juga untuk memperbaiki jawaban ini, Anda dapat menyimpan path absolut dalam variabel dan menjalankannya sebagai: cmd /c $py .\main.py( Powershell ) atau cmd /c %py% .\main.py( Dos ). Ini akan menjalankannya di shell Anda yang ada dan dapat diberi skrip
AP.
5

Jika 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.

Kupu-kupu
sumber
4

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:

  • Copot pemasangan Anaconda
  • Copot pemasangan Python (saya menggunakan versi 3.7.3)
  • Instal Python lagi (ingat untuk mencentang opsi untuk menambahkan secara otomatis ke PATH)

Kemudian saya telah mengunduh semua lib yang saya butuhkan menggunakan PIP ... dan berhasil!

Tidak tahu mengapa, atau apakah masalahnya terkait dengan Anaconda.

João Ignacio
sumber
3

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)

brew reinstall python3 --force
# setup pip
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
# installa pkg successfully 
pip install pandas
lfender6445.dll
sumber
Terima kasih atas jawaban ini! Dalam kasus saya, masalah dimulai setelah memperbarui ke Catalina (10.15.3), dan saya menemukan bahwa langkah pertama Anda brew reinstall python3 --forcesudah cukup: pipberfungsi lagi setelah itu, saya tidak perlu menginstal ulang pip.
PLL
3

Anda dapat melakukan salah satu dari keduanya:

  1. Saat memasang Anaconda, pilih opsi untuk menambahkan Anaconda ke jalur .

atau

  1. Temukan jalur (lengkap) ini dari folder instalasi Anaconda Anda dan tambahkan ke variabel lingkungan :

\ 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 :)

aymusbond.dll
sumber
1
Salah satu alternatifnya adalah menggunakan 'anaconda prompt' spesifik yang mengatur variabel lingkungan ini dengan benar.
Tuula
2

Saya mengalami masalah yang sama dan dapat mengatasinya dengan langkah-langkah berikut:

sudo yum install -y libffi-devel
sudo yum install openssl-devel
cd /usr/src
sudo wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz
sudo tar xf Python-3.7.1.tar.xz
cd Python-3.7.1
sudo ./configure --enable-optimizations
# Install into /usr/local/bin/python3.7, don't overwrite global python bin
sudo make altinstall

tergantung pada perms, Anda mungkin tidak perlu sudo.

Results:
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-10.0.1 setuptools-39.0.1

sekarang harus bisa lari

python3.7 -V 

dan

pip3.7 -V

Saat menginstal paket:

pip3.7 install pandas

atau bergantung pada perms, Anda juga bisa menambahkan flag --user seperti ini:

pip3.7 install pandas --user
RubenD
sumber
2

The sslmodul pembungkus TLS / SSL untuk mengakses Operasi Sytem (OS) socket ( Lib / ssl.py ). Jadi ketika sslmodul 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:

# python 3.8 beta
./configure --with-openssl="your_OpenSSL root"

Jadi di mana Anda akan menemukan direktori OpenSSL yang Anda instal?

# ubuntu 
locate ssl.h | grep '/openssl/ssl.h'

/home/user/.linuxbrew/Cellar/openssl/1.0.2r/include/openssl/ssl.h
/home/user/envs/py37/include/openssl/ssl.h
/home/user/miniconda3/envs/py38b3/include/openssl/ssl.h
/home/user/miniconda3/include/openssl/ssl.h
/home/user/miniconda3/pkgs/openssl-1.0.2s-h7b6447c_0/include/openssl/ssl.h
/home/user/miniconda3/pkgs/openssl-1.1.1b-h7b6447c_1/include/openssl/ssl.h
/home/user/miniconda3/pkgs/openssl-1.1.1c-h7b6447c_1/include/openssl/ssl.h
/usr/include/openssl/ssl.h

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:

Python membutuhkan OpenSSL 1.0.2 atau 1.1 libssl yang kompatibel dengan X509_VERIFY_PARAM_set1_host ().

Jadi, Anda perlu memverifikasi perpustakaan terinstal mana yang dapat Anda gunakan untuk menautkan, misalnya

/usr/bin/openssl version

OpenSSL 1.0.2g  1 Mar 2016
./configure --with-openssl="/usr"
make && make install

Anda mungkin perlu mencoba beberapa, atau menginstal yang baru, untuk menemukan pustaka yang akan bekerja untuk Python dan OS Anda.

bizi
sumber
1

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

pip dikonfigurasi dengan lokasi yang memerlukan TLS / SSL, namun modul ssl di Python tidak tersedia.

Apa yang saya lakukan dalam situasi saya

  1. Saya mengunduh penginstal macOS 64-bit lagi, dan menginstal.
  2. Klik dua kali /Applications/Python3.6/Install Certificates.commanddan/Applications/Python3.6/Update Shell Profile.command .
  3. Mulai ulang mac
  4. Dan saya tidak yakin tapi mungkin berjasa untuk sukses tersebut pip.conf. Lihat instalasi pip gagal .
araya
sumber
1

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 .bashrcfile 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, makedan make install. Terakhir, saya memodifikasi file .bashrc. Perhatikan bahwa saya tidak menyertakan --enable-optimizationsdalam ./configure.

donto
sumber
0

Di macos, konfigurasikan python 3.8.1 dengan perintah di bawah ini akan menyelesaikan masalah, saya pikir itu juga akan berfungsi di Linux.

./configure --enable-optimizations --with-openssl=/usr/local/opt/openssl@1.1/

ubah parameter dir berdasarkan sistem Anda.

pengguna3857893
sumber
0

Jika Anda menggunakan OSX dan jika solusi lain tidak berfungsi untuk Anda (seperti saya).

Anda dapat mencoba mencopot pemasangan python3 dan memutakhirkan pip3

brew uninstall --ignore-dependencies python3
pip3 install --upgrade pip   

Ini berhasil untuk saya;)

inishchith
sumber
0

(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

  • AWS Linux
  • Anaconda 3-5.3.0 yang dipasang secara manual
  • Python3 (3.7) sedang berjalan di dalam anaconda (yaitu, ./anaconda3/bin/python )
  • ada juga /usr/bin/pythondan /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 opensslpada 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.1dan libcrypto.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 yumversi ssl sama dengan condaversinya, 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.

Snowy Oz
sumber
0

Dalam kasus menggunakan pyenvuntuk mengelola instalasi python di Mac OS Catalina, saya harus menginstal openssldengan brew terlebih dahulu dan kemudian setelah itu menjalankan pyenv install 3.7.8yang sepertinya membangun instalasi python menggunakan openssldari homebrew (bahkan dikatakan seperti itu di output instalasi). Kemudian pyenv global 3.7.8dan saya pergi.

ProperBritish
sumber
0

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

Tarun Singh
sumber
-1

Saya mengalami masalah yang sama selama dua hari terakhir dan hanya memperbaikinya sekarang.

Saya telah mencoba menggunakan --trust-hostopsi dengan DigiCert_High_Assurance_EV_Root_CA.pemtidak 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_CERTvariabel juga tidak memperbaikinya dan saya telah libssl1.0.2dan libssl1.0.0menginstal. Juga perlu disebutkan bahwa saya tidak memiliki ~/.pip/pip.conffile, dan membuatnya juga tidak menyelesaikan bug.

Apa yang akhirnya menyelesaikannya, adalah menginstal python3.6 dengan makelagi. Unduh Python-3.6.0.tgz dari situs web, jalankan configurelalu make, make testdan make install. Semoga berhasil untuk Anda.

EC Lobo
sumber
2
Maaf tapi harus downvote karena ini hanya menyatakan untuk mengulangi langkah yang sama yang menyebabkan kesalahan ini. Saya tidak tahu bagaimana Anda akan menjalankan perintah yang sama pada sumber python yang sama dan mendapatkan hasil yang berbeda!
Jamie Lindsey
-1

The dokumentasi python sebenarnya sangat jelas, dan mengikuti petunjuk melakukan pekerjaan sedangkan jawaban yang lain saya temukan di sini tidak memperbaiki masalah ini.

  1. 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

  2. pastikan Anda telah menginstal openssl dengan menjalankan brew install openssl

  3. unzip dan pindah ke direktori python: tar xvzf Python-3.6.2.tar.xz && cd Python-3.6.2

  4. lalu jika versi python <3.7, jalankan

CPPFLAGS="-I$(brew --prefix openssl)/include" \ LDFLAGS="-L$(brew --prefix openssl)/lib" \ ./configure --with-pydebug 5. terakhir, jalankan make -s -j2( -sadalah tanda diam, -j2memberi tahu mesin Anda untuk menggunakan 2 pekerjaan)

pglaser.dll
sumber
j adalah mnemonik untuk "pekerjaan" yang merupakan jumlah proses yang dijalankan secara paralel saat build. Sedangkan untuk flag s, ia masih mengeluarkan peringatan, tetapi tanpa gangguan tambahan dari level info / debug. Bendera ini digunakan dalam instruksi dokumen python.
pglaser
-1

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:

export PKG_CONFIG_PATH=""
export LD_LIBRARY_PATH=""
Loki
sumber
2
Ini benar-benar akan merusak hari seseorang jika mereka memiliki hal-hal yang berguna dalam variabel lingkungan tersebut
matanster
-1

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

Ujju
sumber
Sejauh yang saya tahu python menggunakan paket yang mendasari sistem operasi. Hal-hal seperti gcc, openssldan zlib. Jadi penting untuk menginstal prasyarat ini sebelum mengkompilasi python terutama bila digunakan di linux.
Stephen
@ surfer190 Saya menggunakan jendela, tapi apa yang Anda katakan mungkin benar untuk keduanya
Ujju