ローカルマシンに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>
pip install <package>
でパッケージをインストールできるようにPython3.xインストールを修正するにはどうすればよいですか?
UbuntuでPython 3.6およびpip3をインストールするためのステップバイステップガイド
Pythonおよびsslに必要なパッケージをインストールします:$ Sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
https://www.python.org/ftp/python/ からホームディレクトリに「Python-3.6.8.tar.xz」をダウンロードして解凍します。
そのディレクトリでターミナルを開き、実行します:$ ./configure
ビルドとインストール:$ Sudo make && Sudo make install
$ pip3 install package_name
でパッケージをインストールします
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
Windows上でanacondaを使用している場合、これは私のために働いた:
動作しない他の多くのソリューションを試しました(環境PATH変数の変更...)
この問題は、Windows\System32フォルダー内のDLL(たとえば、libcrypto-1_1-x64.dllまたはlibssl-1_1-x64.dllなど)が他のソフトウェアによって配置されていることが原因である可能性があります。
修正は、openSSLを https://slproweb.com/products/Win32OpenSSL.html からインストールしていたため、dllが最新バージョンに置き換えられました。
MastaBlastaの回答に同意します。私のために働いた。トピックの説明と同じ問題が発生しました。
環境:MacOS Sierra。そして、私はHomebrewを使用しています。
私の解決策:
brew uninstall openssl, brew install openssl
でopensslを再インストールします。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"
この問題は、おそらくライブラリの欠落が原因です。
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では、これが役立ちます。
cd Python-3.6.2
./configure --with-ssl
make
Sudo make install
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)公式の website ;でpythonを再度ダウンロードできます。
2)"Python 3.7 (64-bit).lnk"
があるディレクトリに移動します
3)import ssl
およびexit()
4)cmd、たとえば"Python 3.7 (64-bit).lnk" -m pip install tensorflow
と入力します。
これで設定は完了です。
WindowsでAnacondaを使用している場合、ユーザーwillliu1995として、cmd.exeの代わりにAnacondaプロンプトで「pip install ...」コマンドを実行してみてください。 here を提案します。これは私にとって最速のソリューションであり、追加のコンポーネントをインストールする必要はありません。
OSXを使用しており、ソースからpythonをコンパイルしている場合:
Brew brew install openssl
を使用してopensslをインストールします
CPPFLAGS
およびLDFLAGS
の設定については、brewの指示に従ってください。私の場合、[email protected]
brew式を使用しており、SSLライブラリに正しくリンクするには、pythonビルドプロセスに次の3つの設定が必要です。
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"
ライブラリがその場所にインストールされていると仮定します。
A LOTこの問題を解決する方法を試しましたが、解決されたものはありませんでした。現在Windows 10を使用しています。
働いた唯一のものは:
次に、PIPを使用して必要なすべてのライブラリをダウンロードしました...
理由がわからない、または問題が何らかの形でアナコンダに関連していたのかどうかわからない。
私は同じ問題を抱えていましたが、次の手順で解決できました。
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
ssl
モジュールは、Operation Sytem(OS)ソケット( Lib/ssl.py )にアクセスするためのTLS/SSLラッパーです。したがって、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には、X509_VERIFY_PARAM_set1_Host()を備えたOpenSSL 1.0.2または1.1互換のlibsslが必要です。
したがって、リンクに使用できるインストール済みライブラリを確認する必要があります。たとえば、
/usr/bin/openssl version
OpenSSL 1.0.2g 1 Mar 2016
./configure --with-openssl="/usr"
make && make install
PythonおよびOSで動作するライブラリを見つけるために、いくつか試してみるか、新しいものをインストールする必要がある場合があります。
私は過去2日間同じ問題を抱えていましたが、今すぐ修正しました。
--trust-Host
オプションを使用してDigiCert_High_Assurance_EV_Root_CA.pem
オプションを使用しようとしましたが、sslモジュールをインストールできませんでした(2.6以上のpythonバージョンにはインストールできないことを示しています) 、$PIP_CERT
変数を設定しても修正されず、libssl1.0.2
とlibssl1.0.0
がインストールされていました。 ~/.pip/pip.conf
ファイルを持っていなかったことにも言及する価値があり、それを作成してもバグは解決しませんでした。
最終的にそれを解決したのは、make
でpython3.6を再度インストールすることでした。 Python-3.6.0.tgzをWebサイトからダウンロードし、configure
を実行してからmake
、make test
およびmake install
を実行します。それがあなたのために働くことを願っています。
Python3.7をubuntu14.04マシンにインストールしようとすると、同じ問題が発生しました。問題は、PKG_CONFIG_PATHとLD_LIBRARY_PATHにいくつかのカスタムフォルダーがあり、pythonビルドプロセスがシステムのopensslライブラリを見つけることができなかったことです。
それらをクリアして、何が起こるか見てみてください:
export PKG_CONFIG_PATH=""
export LD_LIBRARY_PATH=""