pip3でパッケージをインストールすると、「Pythonのsslモジュールは使用できません」


122

ローカルマシンにPython 3.4とPython 3.6を正常にインストールしましたが、でパッケージをインストールできませんpip3

を実行するpip3 install <package>と、次のSSL関連のエラーが発生します。

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インストールを修正してパッケージをインストールできるようにするにはどうすればよいpip install <package>ですか?


4
コマンドを使用してubuntuにpip3を明示的にインストールしましたsudo apt-get install python3-pipか?
2016

2
pip3 install --upgrade pip同じメッセージが出るかどうか試してみてください。
ヘリー2017

回答:


92

UbuntuにPython 3.6とpip3をインストールするためのステップバイステップガイド

  1. Pythonとsslに必要なパッケージをインストールします。 $ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

  2. https://www.python.org/ftp/python/から「Python-3.6.8.tar.xz」をダウンロードしてホームディレクトリに解凍します。

  3. そのディレクトリでターミナルを開いて実行します。 $ ./configure

  4. ビルドしてインストール: $ sudo make && sudo make install

  5. パッケージをインストールする: $ pip3 install package_name


4
「Raspbian GNU / Linux 9(stretch)」に取り組んだ
Oktay、2017年

2
ありがとうございました!私はこのコマンドリストが見つかるまで、Ubuntu 14.04でpython3を動作させるように一周していました。
jerrylogansquare 2018

2
私のUbuntuの救世主。
markroxor 2018

6
これでうまくいきました。どうもありがとう。でも、頭を一周できなかったことが1つあります。手順4から始めて、「make; make install」を1回だけ行ってみませんか?
パラフィリアックダチョウ2018

1
Ubuntuビーバーで働いた。私は常にSSLの問題でpython3.7とpip 19を使用していました....
eduardosufan

61

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

Python 2.7でも動作しました。makeとmake altinstallを追加するだけ
Jabda

virtualenvが必要な場合は、sudo /usr/local/bin/pip3.7 install virtualenvを実行する必要があります。この回答ありがとうございます!
テクノクラート

すばらしい、レガシーDockerイメージ用のpython 2.7.13のインストールに問題がありopenssl-devel、実行する必要がありましたpython2.7 get-pip.py
フェリペ

59

あなたがWindows上でanacondaを使用している場合、これは私にとってうまくいきました:

機能しなかった他の多くのソリューションを試しました(環境PATH変数の変更...)

この問題は、他のソフトウェアによってそこに配置されたWindows \ System32フォルダー内のDLL(libcrypto-1_1-x64.dllまたはlibssl-1_1-x64.dllなど)によって引き起こされる可能性があります。

修正は、https: //slproweb.com/products/Win32OpenSSL.htmlからopenSSLをインストールし、DLLをより新しいバージョンに置き換えることでした。


2
インストールしたところです。私のシステムにインストールされているプログラムのリストには、OpenSSLの3つのバージョンがあります(64ビットシステムでは、64ビットバージョンが2つと32ビットバージョンが1つですが)。それらをすべてインストールしたことに気付いていないので、そのままにしておきました。
juergi

1
これは、多くの検索の結果、私が見つけた最も簡単な解決策でした。OpenSSLエラーのため、PIPが機能していませんでした。また、「urllib.request」から名前「HTTPSHandler」をインポートできない」エラーのため、起動時にSpyderがクラッシュしました。これは、windows 10 python 3に隔離されました。人々がグーグルするためのソリューションをリンクするのを助けるためにコメントすると、トップの結果のほとんどは古くて複雑なソリューションでした。
Dick McManus

8
WindowsでAnacondaを使用している場合は、cmdの代わりにAnaconda Promptを使用して「pip install」を実行します。追加のDLL / SSLの変更は必要ありません。
FatihAkici

1
@FatihAkici-どうもありがとう。それは私を助けました。
Raju Penumatsa

2
私はコンピューターを壊そうとしていて、多くのマシンとOSでpycharmを使用していましたが、この新しいウィンドウにanacondaをインストールしたところ、pipmが壊れたようです。2時間くらいブラウジングしてました、どうもありがとうございました。<3
Benoit F

34

OSX 10.11では、3.6の上にPython 3.7をインストールするmemcachedをインストールしたため、同様の問題が発生しました。

警告:pipはTLS / SSLを必要とする場所で構成されていますが、Pythonのsslモジュールは使用できません。

opensslのリンク解除、再インストール、パスの変更に何時間も費やしましたが、何の助けにもなりませんでした。opensslのバージョンを古いバージョンに戻すことでトリックができました:

brew switch openssl 1.0.2e

この提案はインターネットのどこにも見られませんでした。それが誰かに役立つことを願っています。


3
MacOS Catalina 10.5.4(Beta)でも同じ問題がありましたが、現在は機能しています。ありがとうございました!
Peter Rosemann

14
私にとってはそうだったbrew switch openssl 1.0.2s。しかし、それだけでした。助けてくれてありがとう!
antonio

3
これを試しても、opensslのセラーにバージョン「1.0.2e」がないことがわかります。opensslのセラーにはバージョン「1.0.2s」がありません。
James Parker

アントニオ、ジェームズ:どんな古いバージョンでも。私のセラーには1.0.2eがあったので、これを使用しました。お役に立てて嬉しいです。
dsomnus

4
どうもありがとうございます!私にとって、古いバージョンに切り替えるというあなたの解決策はopensslうまくbrew switch openssl 1.0.2t いきました: 私はMac OS Catalina 10.15.3を使っています。それが役に立てば幸い。
viraj.kulkarni

25

mastaBlastaによる回答に同意します。私のために働いた。トピックの説明と同じ問題が発生しました。

環境:MacOS Sierra。そして、私はHomebrewを使用しています。

私の解決策:

  1. opensslを再インストールする brew uninstall openssl; brew install openssl
  2. Homebrewから与えられたヒントに従って、以下を実行します。

    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
ありがとう、トリックはbrew uninstall openssl, brew install opensslです。brew reinstall openssl効果がなかったものを試しました。しかし、アンインストール/インストールは機能します!
ジェフ・ティエン

6
走らなければならなかったbrew uninstall --ignore-dependencies openssl
eladシルバー

16

Ubuntuでは、これは役立ちます:

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

4
なぜこれを行うためにソースからpythonをビルドしなければならないのですか?標準のPythonディストリビューションで動作するソリューションはありませんか?新しくインストールされていないライブシステム上で、対応するソースの場所が常に簡単にわかるわけではないpythonバイナリを上書きせずに、このモジュールの追加が可能であることを単純に願っています。
マタンスター

これを試しても何も変更されませんでした
ユーザー番号

9
このオプションが認識されないという警告が表示されます
ma3oun

これらのコマンドにいくつかの「sudo」を追加する必要がありましたが、他の回答が失敗した場所で機能しました!
Paco Abato


5

ライブラリが見つからないことが原因である可能性があります。

Python 3.6をインストールする前に、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

UbuntuおよびLinuxMintにPython 3.6.0をインストールする方法の詳細


5

OSXを使用していて、ソースからPythonをコンパイルしている場合:

brewを使用してopensslをインストールする brew install openssl

CPPFLAGSとの設定について、brewが提供する指示に従ってくださいLDFLAGS。私の場合、openssl@1.1brew式を使用しています。SSLライブラリに正しくリンクするには、Pythonビルドプロセスに次の3つの設定が必要です。

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"

ライブラリがその場所にインストールされていると仮定します。


まだ同じ問題
ガウラヴパリワル

pipを再インストールしてみてください
mastaBlasta 2018

@ GauravPaliwal、@ mastaBlasta:私の場合、以前のバージョンのopensslworked に切り替える: brew switch openssl 1.0.2t Mac OS Catalina 10.15.3を使用しています。それが役に立てば幸い。
viraj.kulkarni

5

Windows 10でも同じ問題が発生しました。非常に具体的な問題は、Anacondaのインストールが原因です。私はAnacondaをインストールし、パスの下にPath/to/Anaconda3/、そこに来ますpython.exe。したがって、Anacondaにはpythonが含まれているため、私はpythonをまったくインストールしませんでした。pipを使用してパッケージをインストールすると、同じエラーレポートが見つかりましたpip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

解決策は次のとおりです。

1)公式ウェブサイトからもう一度pythonをダウンロードできます。

2)"Python 3.7 (64-bit).lnk"があるディレクトリに移動します

3)import sslおよびexit()

4)"Python 3.7 (64-bit).lnk" -m pip install tensorflowたとえば、cmdと入力します。

これで準備は完了です。


修正ではありませんが、間違いなく仕事は完了です。少なくとも、不足しているdepをインストールするのに役立ちます。私は私のローカルマシン上で実現何を、私はPythonのための私のPATH変数のエントリが競合していたことである(。すなわちアナコンダ2.7の64ビットとPython 3.7の32ビット)
AP。

また、この答えを改善するために、絶対パスを変数に保存して、cmd /c $py .\main.pyPowershell)またはcmd /c %py% .\main.pyDos)として実行することもできます。これにより、既存のシェルで実行され、スクリプト化できます
AP。

5

WindowsでAnaconda使用している場合は、cmd.exeの代わりにAnacondaプロンプトで "pip install ..."コマンドを実行してみてください。これは私にとって最速のソリューションであり、追加のコンポーネントをインストールする必要がありません。


4

私はこの問題を解決する方法をたくさん試しましたが、どれも解決されませんでした。現在Windows 10を使用しています。

機能したのは次のとおりです。

  • Anacondaをアンインストールする
  • Pythonをアンインストールします(バージョン3.7.3を使用していました)
  • Pythonを再インストールします(PATHに自動的に追加するオプションを確認することを忘れないでください)

次に、PIPを使用して必要なすべてのライブラリをダウンロードしました...

なぜか、または問題がどういうわけかアナコンダに関連していたのかわからない。


3

osx brewユーザー向け

私の問題は私のpythonインストールに関連して表示され、python3とpipを再インストールすることですぐに解決しました。OSのアップデート後に誤動作し始めたと思いますが、誰が知っていますか(現時点では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

この答えてくれてありがとう!私の場合、問題はCatalina(10.15.3)に更新した後に始まり、最初の手順brew reinstall python3 --forceで十分であることがわかりました。pipその後再び動作したため、再インストールする必要はありませんでしたpip
PLL

3

次の2つのいずれかを実行できます。

  1. Anacondaのインストール中に、Anacondaをパス追加するオプションを選択します。

または

  1. Anacondaのインストールフォルダーからこれらの(完全な)パスを見つけて、環境変数に追加します

\アナコンダ

\ Anaconda \ Library \ mingw-w64 \ bin

\ Anaconda \ Library \ usr \ bin

\ Anaconda \ Library \ bin

\ Anaconda \ Scripts

\ anaconda \ Library

\ anaconda \ condabin

上記のパスを「Path」システム変数に追加すると、エラーは表示されなくなります:)


1
1つの代替方法は、これらの環境変数が正しく設定されている特定の「anacondaプロンプト」を使用することです。
Tuula

2

私は同じ問題を抱えていて、次の手順で解決できました:

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

パーマによっては、sudoが不要な場合があります。

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

これで実行できるはずです

python3.7 -V 

そして

pip3.7 -V

パッケージをインストールする場合:

pip3.7 install pandas

または、権限に応じて、次のように--userフラグを追加することもできます。

pip3.7 install pandas --user

2

sslモジュールは、操作SYTEM(OS)ソケット(アクセスするためのTLS / SSLラッパーでのLib / ssl.py)を。そのため、sslモジュールが利用できない場合、OS OpenSSLライブラリがインストールされていないか、Pythonのインストール時にそれらのライブラリが見つからなかった可能性があります。後者の場合を想定してください(別名:すでにOpenSSLがインストールされていますが、Pythonのインストール時に正しくリンクされていません)。

また、ソースからインストールすることも想定しています。バイナリ(つまり、ウィンドウ.exeファイル)、またはパッケージ(Mac .dmg、またはUbuntu apt)からインストールする場合、インストールプロセスで実行できることはあまりありません。

Pythonのインストールを構成するステップ中に、OS OpenSSLがリンクに使用される場所を指定する必要があります。

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

インストールされているOpenSSLディレクトリはどこにありますか?

# 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

あなたのシステムは私のものとは違うかもしれませんが、ここに見られるように私は多くの異なるインストールされたopensslライブラリを持っています。この記事の執筆時点では、Python 3.8はopenssl 1.0.2または1.1を想定しています。

Pythonでは、OpenSSL 1.0.2または1.1互換のlibsslとX509_VERIFY_PARAM_set1_host()が必要です。

したがって、リンクに使用できるインストール済みのライブラリを確認する必要があります。たとえば、

/usr/bin/openssl version

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

PythonとOSで機能するライブラリを見つけるために、いくつか試すか、新しくインストールする必要がある場合があります。


1

Macを使用している場合は、を削除しました /Applications/Python 3.7。私はすでにPython3.7を持っていたからbrew install python3です。

しかしそれはメッセージの引き金でした

pipはTLS / SSLを必要とする場所で構成されていますが、Pythonのsslモジュールは使用できません。

私の状況で私がしたこと

  1. macOS 64ビットインストーラーを再度ダウンロードしてインストールしました。
  2. /Applications/Python3.6/Install Certificates.commandおよびをダブルクリックします/Applications/Python3.6/Update Shell Profile.command
  3. Macを再起動
  4. そして、私は確かではありませんが、おそらく成功するために貢献していpip.confます。pip install failedを参照してください。

1

ようやくこの問題を解決しました。これらは私のenvの詳細です:
インストールするPythonのバージョン
:3.6.8 OS:Ubuntu 16.04.6 LTS
ルートアクセス:いいえ

一部の人がをインストールすることを提案しましたlibssl-devが、私にはうまくいきませんでした。私はこのリンクをたどり修正しました!
つまり、OpenSSL(openssl-1.1.1b.tar.gz)をダウンロード、抽出、ビルド、インストールします。次に、このリンクに従って.bashrcファイルを変更します。 次に、Python-3.6.8.tgzをダウンロードして解凍します。Modules / Setup.distを編集してSSLパスを変更します(#211の周りの行)。私がやった、と。最後に、自分のを変更します。に含まれていないことに注意してください。
./configure --prefix=$HOME/opt/python-3.6.8makemake install.bashrc--enable-optimizations./configure


0

macosでは、以下のコマンドを使用してpython 3.8.1を構成すると問題が解決します。Linuxでも動作すると思います。

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

システムに基づいてdirパラメータを変更します。


0

あなたがOSXを使っていて、他の解決策がうまくいかない場合(ちょうど私のように)。

あなたはpython3をアンインストールしてpip3をアップグレードすることができます

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

これは私のために働きました;)


0

(Windowsではありません!)

これは私が一週間髪を引き裂いたので、これが誰かを助けることを願っています

AnacondaやJupyterを再インストールする前に、すべてを試しました。

セットアップ

  • AWS Linux
  • 手動でインストールされたAnaconda 3-5.3.0
  • Python3(3.7)はanaconda内で実行されていました(つまり、./anaconda3/bin/python
  • また/usr/bin/python/usr/bin/python3(そして、ほとんどの作業がJupyterのターミナルで行われたため、これらは使用されていませんでした)

修正

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

何が原因ですか?

だから、私がやろうとするまで、これはすべてうまくいきました conda install conda-forge

何が起こったのかはわかりませんが、condaが更新さopensslれたはずです(推測です)。このため、この後、すべてが壊れました。

基本的には、私には未知のは、condaはOpenSSLを更新していたが、何とか古いライブラリを削除し、それを置き換えるlibssl.so.1.1libcrypto.so.1.1

Python3は、おそらく、 libssl.so.1.0.0

結局、診断の鍵はこれでした:

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

手がかりを与えた library "libssl.so.1.0.0" not found

私が作った大きな仮定yumは、ssl のバージョンはバージョンと同じcondaであるため、共有オブジェクトの名前を変更するだけで機能する可能性があるということです。

私の他の解決策は、pythonを再コンパイルしたり、anacondaを再インストールしたりすることでしたが、結局、私がそうする必要がなかったことを嬉しく思います。

これが皆さんのお役に立てば幸いです。


0

を使用pyenvしてMac OS Catalinaでpythonインストールを管理する場合、openssl最初にbrew を使用してインストールし、その後pyenv install 3.7.8opensslfrom homebrew を使用してpythonインストールをビルドするように実行する必要がありました(これもインストール出力に記載されています)。その後pyenv global 3.7.8、私は不在でした。


0

このファイルのpythonバージョンを更新することで、これを修正することができました。pyenv:バージョン `3.6.5 'がインストールされていません(/Users/taruntarun/.python-versionで設定)最新バージョンがインストールされていても、コマンドはまだ古いバージョン3.6.5を使用しています

バージョン3.7.3への移行


-1

私は過去2日間同じ問題を抱えていましたが、今すぐ修正しました。

私は--trust-hostオプションを使用しようとしましたDigiCert_High_Assurance_EV_Root_CA.pemが機能しませんでした、sslモジュールをインストールできませんでした(それは2.6以上のpythonバージョンではインストールできないことを示しています)、$PIP_CERT変数を設定してもそれを修正できずlibssl1.0.2libssl1.0.0インストールしました。また、~/.pip/pip.confファイルがなく、作成してもバグが解決されなかったことにも言及する価値があります。

最終的にそれを解決したのは、make再度python3.6をインストールすることでした。ウェブサイトからのPython-3.6.0.tgzをダウンロード、実行しconfigureた後makemake testおよびmake install。それがあなたのために働くことを願っています。


2
申し訳ありませんが、これにより、このエラーの原因となった同じ手順を繰り返すことを単に表明するため、反対票を投じる必要がありました。同じpythonソース上で同じコマンドを実行して、異なる結果が得られるとはどう考えているのかわかりません。
ジェイミーリンジー

-1

Pythonドキュメントは、実際には非常に明確である、と私はここで見つける他の答えは、この問題を修正されていないのに対し、指示に従うことは仕事をしてくれました。

  1. 最初に、たとえばバージョン3.6.2を使用してソースからpython 3.xxをインストールしますhttps://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

  2. opensslがインストールされていることを確認してください brew install openssl

  3. 解凍してpythonディレクトリに移動します。 tar xvzf Python-3.6.2.tar.xz && cd Python-3.6.2

  4. 次に、Pythonのバージョンが3.7未満の場合は、

CPPFLAGS="-I$(brew --prefix openssl)/include" \ LDFLAGS="-L$(brew --prefix openssl)/lib" \ ./configure --with-pydebug 5.最後に、実行しますmake -s -j2-sサイレントフラグで-j2、マシンに2つのジョブを使用するように指示します)


jは「ジョブ」のニーモニックであり、ビルドを並行して実行するプロセスの数です。sフラグに関しては、警告を出力しますが、情報/デバッグレベルの追加のノイズはありません。これらのフラグは、Pythonのドキュメントの説明で使用されています。
pglaser 2018

-1

ubuntu14.04マシンにpython3.7をインストールしようとすると、同じ問題が発生しました。問題は、PKG_CONFIG_PATHとLD_LIBRARY_PATHにいくつかのカスタムフォルダーがあり、Pythonビルドプロセスがシステムのopensslライブラリを見つけられなかったことです。

だからそれらをクリアして何が起こるか見てみてください:

export PKG_CONFIG_PATH=""
export LD_LIBRARY_PATH=""

2
もし環境変数に有用なものがあれば、これは実際に誰かの日を台無しにするでしょう
matanster

-1

ほとんどのライブラリは上記のエラーでインストールに失敗するため、これに対する最新の答えは、現在のところPython 3.8を使用せず、3.7以下のみを使用してください。


私の知る限り、Pythonはオペレーティングシステムの基盤となるパッケージを使用しています。物事は好きgccopensslzlib。したがって、特にLinuxで使用する場合は、Pythonをコンパイルする前にこれらの前提条件をインストールすることが重要です。
スティーブン

@ surfer190 Windowsを使用していますが、あなたが言ったことはどちらにも当てはまると思います
Ujju
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.