Pip3 ile paket yüklerken "Python'da ssl modülü kullanılamaz"


123

Python 3.4 ve Python 3.6'yı yerel makineme başarıyla yükledim, ancak ile paketleri yükleyemiyorum pip3.

Çalıştırdığımda pip3 install <package>, SSL ile ilgili aşağıdaki hatayı alıyorum:

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>

Python3.x kurulumumu paketleri yükleyebilmek için nasıl düzeltebilirim pip install <package>?


4
Ubuntu'nuza pip3'ü komutla açıkça kurdunuz mu sudo apt-get install python3-pip?
Sidahmed

2
Lütfen pip3 install --upgrade pipaynı mesajı alıp almadığınıza bakın.
herry

Yanıtlar:


93

Ubuntu'da Python 3.6 ve pip3'ü kurmak için adım adım kılavuz

  1. Python ve ssl için gerekli paketleri kurun: $ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

  2. "Python-3.6.8.tar.xz" dosyasını https://www.python.org/ftp/python/ adresinden ana dizininize indirin ve açın .

  3. Bu dizindeki terminali açın ve çalıştırın: $ ./configure

  4. Oluşturun ve kurun: $ sudo make && sudo make install

  5. Paketleri şununla kurun: $ pip3 install package_name


4
"Raspbian GNU / Linux 9 (streç)" üzerinde çalıştı
Oktay

2
Teşekkür ederim! Bu komut listesini bulana kadar Ubuntu 14.04 üzerinde çalışan python3'ü çevreleyen çevrelerde dolaşıyordum.
jerrylogansquare

2
Ubuntu kurtarıcım.
markroxor

6
Bu benim için çalıştı. Çok teşekkürler. Yine de kafamı dolduramadığım bir şey, neden 4. adımla başlayıp yalnızca bir kez "make; make install" ile başlamayasınız?
Paraphiliac Devekuşu

1
Ubuntu Beaver'da çalıştı. Python3.7 ve pip 19 kullanıyordum, her zaman SSL problemiyle .....
eduardosufan

62

Red Hat / CentOS kullanıyorsanız:

# 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

python 2.7 için de çalıştı. sadece make ekleyin ve altinstall yapın
Jabda

Virtualenv'e ihtiyacınız varsa, sudo /usr/local/bin/pip3.7 virtualenv'i kurmanız gerekir. Bu cevap için teşekkürler!
teknokrat

mükemmel, eski bir docker görüntüsü için python 2.7.13 yüklerken sorun yaşıyordum ve openssl-develçalıştırmam gerekiyorpython2.7 get-pip.py
Felipe

59

Windows kullanıyorsanız ve anaconda kullanıyorsanız, bu benim için çalıştı:

Çalışmayan birçok başka çözümü denedim (Çevre PATH Değişken değişiklikleri ...)

Sorun, başka bir yazılım tarafından buraya yerleştirilen Windows \ System32 klasöründeki (ör. Libcrypto-1_1-x64.dll veya libssl-1_1-x64.dll veya diğerleri) DLL'lerden kaynaklanabilir.

Düzeltme, dll'leri daha yeni sürümlerle değiştiren openSSL'yi https://slproweb.com/products/Win32OpenSSL.html adresinden kurmaktı .


2
Ben yeni kurdum. Sistemimde yüklü programlar listesinde üç OpenSSL sürümü var (64 bit sistemde olmama rağmen iki 64 bit sürümü ve bir 32 bit sürümü). Hepsini kurduğumun farkında değilim, bu yüzden onları orada bıraktım.
juergi

1
Bu, çok fazla araştırmadan sonra bulduğum en basit çözümdü. Pip, OpenSSL hatası nedeniyle çalışmıyordu. Spyder ayrıca "urllib.request" den "HTTPSHandler" adı içe aktarılamıyor "hatası nedeniyle başlatma sırasında çöktü. Bu benim için Windows 10 python 3 ile izole edildi. Google'da arama yapan kişiler için çözümü birbirine bağlamaya yardımcı olmayı umduğumuz yorumlarda, en iyi sonuçların çoğu eski ve karmaşık çözümlerdi.
Dick McManus

8
Windows kullanıyorsanız ve Anaconda kullanıyorsanız, "pip install" komutunu çalıştırmak için cmd yerine Anaconda İstemini kullanın. Ek DLL / SSL değişikliği gerekmeyecektir.
FatihAkici

1
@FatihAkici - Çok teşekkürler. Bana yardımcı oldu.
Raju Penumatsa

2
Bilgisayarımı kırmak üzereydim, birçok makinede ve işletim sisteminde pycharm kullandım ama bu yeni pencerede bir anaconda kurdum ve görünen o ki pip kırıldı. 2 saattir geziyordum, çok teşekkür ederim dostum. <3
Benoit F

35

3.6'nın üstüne python 3.7 yükleyen memcached'i kurduğum için OSX 10.11'de de benzer bir sorun yaşadım.

UYARI: pip, TLS / SSL gerektiren konumlarla yapılandırılır, ancak Python'daki ssl modülü kullanılamaz.

Opensl bağlantısını kaldırmak, yeniden yüklemek, yolları değiştirmek için saatler harcadım ve hiçbir şey yardımcı olmadı. Openssl sürümünü eski sürüme geri döndürmek hile yaptı:

brew switch openssl 1.0.2e

Bu öneriyi internetin hiçbir yerinde görmedim. Umarım birine hizmet eder.


3
MacOS Catalina 10.5.4 (Beta) ile aynı sorunu yaşadım, şimdi çalışıyor. Teşekkür ederim!
Peter Rosemann

14
Benim için öyleydi brew switch openssl 1.0.2s. Ama buydu. Beni kurtardın, teşekkürler!
antonio

3
Bunu deniyorum ama bana openssl'nin Cellar'da "1.0.2e" sürümüne sahip olmadığını söylüyor. openssl'nin Cellar'da "1.0.2s" sürümü yok.
James Parker

Antonio, James: Eski versiyonunuz ne olursa olsun. Mahzenim 1.0.2e'ye sahipti, bu yüzden bunu kullandım. Yardımcı olmasına sevindim.
dsomnus

4
Çok teşekkür ederim! Benim için, çalışanın eski bir sürümüne geçme çözümünüz openssl: brew switch openssl 1.0.2tMac OS Catalina 10.15.3'teyim. Umarım yardımcı olur.
viraj.kulkarni

25

MastaBlasta'nın cevabına katılıyorum. Benim için çalıştı. Konu açıklaması ile aynı problemle karşılaştım.

Çevre: MacOS Sierra. Ve Homebrew kullanıyorum.

Çözümüm:

  1. Openssl'yi yeniden yükle brew uninstall openssl; brew install openssl
  2. Homebrew tarafından verilen ipuçlarına göre şunları yapın:

    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"

3
Teşekkürler, işin püf noktası brew uninstall openssl, brew install openssl. brew reinstall opensslHangisinin etkisi olmadığını denedim . Ancak kaldırma / yükleme çalışır!
Jeff Tian

6
koşmak zorunda kaldıbrew uninstall --ignore-dependencies openssl
elad silver

16

Ubuntu'da bu yardımcı olabilir:

cd Python-3.6.2
./configure --with-ssl
make
sudo make install

4
Bunun için neden aslında kaynaktan python oluşturmamız gerekiyor? standart python dağıtımlarıyla çalışan bir çözüm yok mu? Bu modülü eklemenin, yeni kurulmamış canlı bir sistemde ilgili kaynak konumunu her zaman kolayca bilmediğimiz python ikilisini geçersiz kılmadan mümkün olacağını umuyorum.
matanster

Bunu denedim, hiçbir şeyi değiştirmedim
numarası

10
Bu seçeneğin tanınmadığını söyleyen bir uyarı alıyorum
ma3oun

Bu komutlara birkaç 'sudo' eklemek zorunda kaldım, ancak diğer cevapların başarısız olduğu yerlerde çalıştılar!
Paco Abato


5

Sorun büyük olasılıkla kütüphane eksikliğinden kaynaklanmaktadır.

Python 3.6'yı kurmadan önce, python için gerekli tüm kitaplıkları kurduğunuzdan emin olun.

$ 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

Ubuntu ve LinuxMint'e Python 3.6.0 Nasıl Kurulur hakkında daha fazla bilgi


5

OSX üzerindeyseniz ve python'u kaynaktan derlediyseniz:

Brew kullanarak openssl'yi kurun brew install openssl

Demlemenin size CPPFLAGSve öğenizi ayarlama konusunda verdiği talimatları izlediğinizden emin olun LDFLAGS. Benim durumumda openssl@1.1brew formülünü kullanıyorum ve python oluşturma işleminin SSL kitaplığıma doğru şekilde bağlanması için şu 3 ayara ihtiyacım var:

export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"
export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig"

Kitaplığın o konumda kurulu olduğunu varsayarsak.


hala aynı sorun
Gaurav Paliwal


@GauravPaliwal, @mastaBlasta: Benim için opensslçalışılan eski bir sürümüne geçiyorum: brew switch openssl 1.0.2t Mac OS Catalina 10.15.3 kullanıyorum. Umarım yardımcı olur.
viraj.kulkarni

5

Windows 10'da da aynı sorunla karşılaştım. Çok özel sorunum Anaconda kurulumumdan kaynaklanıyor. Ben Anaconda yüklenmiş ve yolu altında Path/to/Anaconda3/, orada geliyor python.exe. Bu yüzden, Anaconda python içerdiğinden python yüklemedim. Paketleri kurmak için pip kullanırken aynı hata raporunu buldum pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available..

Çözüm şuydu:

1) python'u resmi web sitesinden tekrar indirebilirsiniz ;

2) dizine gidin burada "Python 3.7 (64-bit).lnk"bulunduğu

3) import sslveexit()

4) cmd yazın, "Python 3.7 (64-bit).lnk" -m pip install tensorflow örneğin .

Burada hazırsınız.


Düzeltme değil, ama kesinlikle işi bitirir. En azından eksik depoları yüklemenize yardımcı olur. Yerel makinemde fark ettiğim şey, python (yani Anaconda 2.7 64-bit ve Python 3.7 32-bit)
AP

Ayrıca bu yanıtı iyileştirmek için, mutlak yolu bir değişkende saklayabilir ve şu şekilde çalıştırabilirsiniz: cmd /c $py .\main.py( Powershell ) veya cmd /c %py% .\main.py( Dos ). Bu, onu mevcut kabuğunuzda çalıştıracak ve komut dosyası oluşturulabilir
AP.

5

Windows kullanıyorsanız ve Anaconda kullanıyorsanız , kullanıcının willliu1995'in burada önerdiği gibi, cmd.exe yerine Anaconda İsteminde "pip install ..." komutunu çalıştırmayı deneyebilirsiniz . Bu benim için ek bileşenlerin kurulumunu gerektirmeyen en hızlı çözümdü.


4

ÇOK denedim bu sorunu çözmek için yollar ve hiçbiri çözdü. Şu anda Windows 10 kullanıyorum.

İşe yarayan tek şey şuydu:

  • Anaconda'yı Kaldırma
  • Python'u kaldırın (3.7.3 sürümünü kullanıyordum)
  • Python'u tekrar yükleyin (PATH'a otomatik olarak ekleme seçeneğini işaretlemeyi unutmayın)

Sonra PIP kullanarak ihtiyacım olan tüm kitaplıkları indirdim ve çalıştım!

Nedenini veya sorunun bir şekilde Anaconda ile ilişkili olup olmadığını bilmiyorum.


3

osx brew kullanıcıları için

Sorunum python kurulumumla ilgili ortaya çıktı ve python3 ve pip'i yeniden yükleyerek hızla çözüldü. bir OS güncellemesinden sonra yanlış davranmaya başladığını düşünüyorum ama kim bilir (şu anda Mac OS 10.14.6 kullanıyorum)

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

Bu cevap için teşekkür ederim! Benim durumumda, sorunlar Catalina'ya (10.15.3) güncellemeden sonra başladı ve ilk adımınızın brew reinstall python3 --forceyeterli olduğunu buldum : pipbundan sonra tekrar çalıştı, yeniden yüklememe gerek kalmadı pip.
PLL

3

Bu ikisinden birini yapabilirsiniz:

  1. Anaconda'yı kurarken yola Anaconda ekleme seçeneğini seçin .

veya

  1. Bu (tam) yolları Anaconda kurulum klasörünüzden bulun ve bunları ortam değişkenine ekleyin :

\ Anaconda

\ Anaconda \ Library \ mingw-w64 \ bin

\ Anaconda \ Library \ usr \ bin

\ Anaconda \ Library \ bin

\ Anaconda \ Scripts

\ Anaconda \ Kütüphanesi

\ Anaconda \ condabin

Yukarıdaki yolları "Yol" sistem değişkenine ekleyin ve artık hatayı göstermemelidir :)


1
Bir alternatif, bu ortam değişkenlerinin doğru şekilde ayarlandığı belirli 'anaconda komut istemini' kullanmaktır.
Tuula

2

Aynı sorunu yaşıyordum ve aşağıdaki adımlarla çözebildim:

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

permalara bağlı olarak, sudo'ya ihtiyacınız olmayabilir.

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

şimdi koşabilmeli

python3.7 -V 

ve

pip3.7 -V

Paketleri kurarken:

pip3.7 install pandas

veya izinlere bağlı olarak --user bayrağını şu şekilde ekleyebilirsiniz:

pip3.7 install pandas --user

2

sslModül işlem Sytem (OS) soket (diğer bir TLS / SSL sarıcı kitaplığı / ssl.py ). Dolayısıyla, sslmodül mevcut olmadığında, büyük olasılıkla işletim sistemi OpenSSL kitaplıkları kurulu değildir veya Python'u yüklediğinizde bu kitaplıklar bulunamamıştır. Bunun daha sonraki bir durum olduğunu varsayalım (aka: zaten OpenSSL yüklediniz, ancak Python'u yüklerken doğru şekilde bağlanmamışlar).

Ayrıca, kaynaktan yükleme yaptığınızı da varsayacağım. İkili dosyadan (yani: Window .exe dosyası) veya paketten (Mac .dmg veya Ubuntu apt) yüklüyorsanız, yükleme işlemi ile yapabileceğiniz pek bir şey yoktur.

Python kurulumunuzu yapılandırma adımı sırasında, OS OpenSSL'nin bağlantı için nerede kullanılacağını belirtmeniz gerekir:

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

Peki kurulu OpenSSL dizininizi nerede bulacaksınız?

# 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

Sizin sisteminiz benimkinden farklı olabilir, ancak burada gördüğünüz gibi birçok farklı opensl kitaplığım var. Bu yazının yazıldığı sırada python 3.8, openssl 1.0.2 veya 1.1'i bekliyor:

Python, X509_VERIFY_PARAM_set1_host () ile OpenSSL 1.0.2 veya 1.1 uyumlu bir libssl gerektirir.

Dolayısıyla, bağlanmak için kullanabileceğiniz yüklü kitaplıklardan hangilerini doğrulamanız gerekir, örneğin

/usr/bin/openssl version

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

Python'unuz ve işletim sisteminiz için çalışacak kitaplığı bulmak için birkaç tane denemeniz veya yeni bir tane yüklemeniz gerekebilir.


1

Mac kullanma durumumda, sildim /Applications/Python 3.7. çünkü zaten Python3.7 aldımbrew install python3 .

Ama mesajın tetikleyicisiydi

pip, TLS / SSL gerektiren konumlarla yapılandırılır, ancak Python'daki ssl modülü kullanılamaz.

Benim durumumda ne yaptım

  1. Ben indirilen MacOS 64 bit yükleyici tekrar ve yüklü.
  2. Çift tıklayın /Applications/Python3.6/Install Certificates.commandve /Applications/Python3.6/Update Shell Profile.command.
  3. Mac'i yeniden başlatın
  4. Ve emin değilim ama başarıya katkısı olabilir pip.conf. Bkz. Pip kurulumu başarısız .

1

Sonunda bu sorunu çözdüm. Bunlar benim env:
Yüklenecek Python Sürümünün ayrıntıları : 3.6.8
İşletim Sistemi: Ubuntu 16.04.6 LTS
Kök erişim: Hayır

Bazı insanlar yüklemeyi öneriyor libssl-dev, ancak benim için işe yaramadı. Bu bağlantıyı takip ediyorum ve düzelttim!
Kısacası, OpenSSL'yi (openssl-1.1.1b.tar.gz) indirir, çıkarır, derler ve kurarım. Daha sonra .bashrcdosyayı değiştiriyorum bu linki takip ediyorum .
Sonra, Python-3.6.8.tgz'yi indirip çıkarıyorum. Modules / Setup.dist'i SSL yolunu değiştirmek için düzenliyorum (# 211 civarındaki satırlar). Ben yaptım ./configure --prefix=$HOME/opt/python-3.6.8, makeve make install. Son olarak .bashrc,. Ben dahil olmadığını Bildirimi --enable-optimizationsiçinde ./configure.


0

MacOS üzerinde python 3.8.1'i aşağıdaki komutla yapılandırmanız sorunu çözecektir, sanırım Linux üzerinde de çalışacaktır.

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

dir parametresini sisteminize göre değiştirin.


0

OSX kullanıyorsanız ve diğer çözümler sizin için işe yaramadıysa (tıpkı benim gibi).

Python3'ü kaldırmayı ve pip3'ü yükseltmeyi deneyebilirsiniz

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

Bu benim için çalıştı;)


0

(Windows'ta DEĞİL!)

Bu bir hafta saçlarımı yırtmamı sağladı, bu yüzden umarım bu birine yardımcı olur

Anaconda ve / veya Jupyter'i yeniden yüklemek için her şeyi denedim.

Kurmak

  • AWS Linux
  • Manuel olarak kurulan Anaconda 3-5.3.0
  • Python3 (3.7) anaconda (yani, ./anaconda3/bin/python) içinde çalışıyordu
  • ayrıca vardı /usr/bin/pythonve /usr/bin/python3(ancak işin çoğu Jupyter'in terminalinde yapıldığı için bunlar kullanılmıyordu)

Fix

Jupyter'in terminalinde:

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

Bunu ne tetikledi?

Yani, ben bir şey yapmaya çalışana kadar bunların hepsi çalışıyordu conda install conda-forge

Ne olduğundan emin değilim ama conda güncellenmiş olmalı openssl kutuda (tahmin ediyorum) bu yüzden bundan sonra her şey bozuldu.

Temelde, benim bilmediğim, conda openssl'yi güncelledi, ancak bir şekilde eski kitaplıkları sildi ve yerine libssl.so.1.1velibcrypto.so.1.1 .

Python3, sanırım, aramak için derlendi libssl.so.1.0.0

Sonunda, teşhisin anahtarı şuydu:

python -c "import ssl; print (ssl.OPENSSL_VERSION)"

ipucu verdi library "libssl.so.1.0.0" not found

Yaptığım en büyük varsayım yum, ssl sürümünün aynıconda , bu nedenle paylaşılan nesneyi yeniden adlandırmak işe yarayabilir ve işe yaradı.

Diğer çözümüm python'u yeniden derlemek, anaconda'yı yeniden kurmak, vb.Ama sonunda buna ihtiyacım olmadığına sevindim.

Umarım bu size yardımcı olur.


0

pyenvMac OS Catalina'da python kurulumlarını yönetmek için kullanılması durumunda, opensslönce brew ile yüklemek zorunda kaldım ve ardından homebrew'den pyenv install 3.7.8python kurulumunu inşa ediyor gibi görünen çalıştırmadan sonra openssl(kurulum çıktısında bile böyle söyledi). Sonra pyenv global 3.7.8ve ben uzaktaydım.


0

Bu dosyadaki python sürümünü güncelleyerek bunu düzeltebildim. pyenv: 3.6.5 sürümü kurulu değil (/Users/taruntarun/.python-version tarafından ayarlandı) En son sürümü yüklememe rağmen, komutum hala eski 3.6.5 sürümünü kullanıyordu

3.7.3 sürümüne geçiliyor


-1

Son iki gündür aynı sorunu yaşıyordum ve sadece şu anda düzelttim.

Çalışmadıysa --trust-hostseçeneği kullanmayı denedim DigiCert_High_Assurance_EV_Root_CA.pem, ssl modülünü kuramadım (2.6'dan büyük python sürümleri için yüklenemeyeceğini söylüyor), $PIP_CERTdeğişkeni ayarlamak da düzeltmedi ve ben de yaptım libssl1.0.2ve libssl1.0.0yükledim. Ayrıca bir dosyam olmadığından bahsetmeye değer ~/.pip/pip.confve onu oluşturmak da hatayı çözmedi.

Sonunda çözen şey, python3.6'yı maketekrar kurmaktı . , Web sitesinden Python 3.6.0.tgz indirin çalıştırın configuresonra make, make testve make install. Umarım sizin için çalışır.


2
Maalesef, bu hataya neden olan adımların aynısını tekrarlamanız gerektiğinden dolayı olumsuz oy vermek zorunda kaldım. Aynı python kaynağı üzerinde aynı komutları çalıştırmayı ve farklı sonuçlar almayı nasıl beklerdiniz bilmiyorum!
Jamie Lindsey

-1

Piton belgelerine aslında çok açıktır ve talimatları takip Ben bu sorunu düzeltmek değil burada bulunan diğer cevaplar ise iş yaptı.

  1. ilk olarak, python 3.xx'i, örneğin 3.6.2 sürümü https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz kullanarak kaynaktan yükleyin.

  2. çalıştırarak openssl'yi yüklediğinizden emin olun brew install openssl

  3. sıkıştırmasını açın ve python dizinine gidin: tar xvzf Python-3.6.2.tar.xz && cd Python-3.6.2

  4. python sürümü <3.7 ise, çalıştırın

CPPFLAGS="-I$(brew --prefix openssl)/include" \ LDFLAGS="-L$(brew --prefix openssl)/lib" \ ./configure --with-pydebug 5. son olarak, çalıştırın make -s -j2( -ssessiz bayrak, -j2makinenize 2 iş kullanmasını söyler)


j, derlemeyi çalıştıran paralel olarak çalıştırılan işlemlerin sayısı olan "işler" için anımsatıcıdır. S bayrağına gelince, yine de uyarılar verir, ancak ek bilgi / hata ayıklama seviyeleri gürültüsü olmadan. Bu bayraklar python docs talimatlarında kullanılır.
pglaser

-1

Bir ubuntu14.04 makinesine python3.7 yüklemeye çalışırken aynı sorunu yaşadım. Sorun, PKG_CONFIG_PATH'imde ve LD_LIBRARY_PATH'imde python oluşturma işleminin sistem openssl kitaplıklarını bulmasını engelleyen bazı özel klasörlerim olmasıydı.

bu yüzden onları temizlemeye çalışın ve ne olacağını görün:

export PKG_CONFIG_PATH=""
export LD_LIBRARY_PATH=""

2
Bu ortam değişkenlerinde yararlı şeyler varsa, bu aslında birisinin gününü mahveder
matanster

-1

Tamam, bunun en son cevabı, şu an itibariyle Python 3.8'i kullanmayın, yalnızca 3.7 veya daha azını kullanın, çünkü kitaplıkların çoğu yukarıdaki hatayla yüklenemedi


Bildiğim kadarıyla python, işletim sisteminin temel paketlerini kullanıyor. Yapılacaklar gibi gcc, opensslve zlib. Bu nedenle, özellikle linux üzerinde kullanıldığında python'u derlemeden önce bu önkoşulların kurulması önemlidir.
stephen

@ surfer190 Windows kullanıyorum, ancak söyledikleriniz her ikisi için de doğru olabilir sanırım
Ujju
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.