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


208

私はPython3.6を使用していますが、を使用して「モジュール」をインストールしようとするとpip3、以下の問題に直面します。


1
オペレーティング・システム?
ZiTAL 2017

1
それがある場合、OSは、X:stackoverflow.com/questions/35280956/...
ZiTAL

1
オペレーティングシステムはoracle linux 7.xです
。– Santosh Kumar G

1
パッケージマネージャーからpipをインストールしましたか?あなたがコンパイルインストールした場合、最初のインストールlibssl-devまたはピップからSSLをインストールpip install ssl stackoverflow.com/questions/41098252/...
ZiTAL

37
@ZiTAL pipが機能しないsslためssl、pip を使用してをインストールするように求められます:)
Ramazan Polat

回答:


189

Windows 10の場合、Anacondaプロンプトだけでなく、通常のコマンドでpipを使用します。3つの環境パスを追加する必要があります。次のように:

D:\Anaconda3; 
D:\Anaconda3\Scripts; 
D:\Anaconda3\Library\bin 

ほとんどの人はD:\ Anaconda3 \ Scriptsのみを追加します。


1
おかげで、私はD:\ Anaconda3 \ Library \ binを追加しました。これは、libssl-1_1-x64.dllがそのフォルダーにある方法で機能します。(win10x64、python 3.7)
apet a

パスにこれら3つを追加したら、cmdを閉じて、戻ってもう一度やり直してください。
user3568896

環境パスとはどういう意味ですか?PATH環境変数を意味しますか?さらに、Dドライブにこれらのフォルダーがありません。Anacondaをインストールすると、これらのフォルダーが作成されるはずですか?
Amit Raz

また、Windows 8.1
Antoine

1
Anacondaを使用していない場合、これは機能しません。OSGeo4W64およびQGIS 3.10.2インストールでこの問題が発生しました。収集したものをPATH変数への正しいパスに追加しても、問題は解決しません(例:)C:\Program Files\QGIS 3.10\apps\Python37\Scripts
CNIDog

175

マックOS

Mac OS(Mojave)でも同じ問題が発生し、このリンク-OpenSSLの問題で説明されているように問題を解決しました。

  1. Homebrewをお持ちでない場合、またはHomebrewが何であるかわからない場合:

    / usr / bin / ruby​​ -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  2. または、Homebrewがすでにインストールされている場合:

brew update && brew upgrade
brew uninstall --ignore-dependencies openssl; brew install https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb

更新:--ignore-dependenciesOpenSSLに依存する他のパッケージがインストールされているため、フラグを使用する必要があったことを覚えておいてください。

さらに、問題がpyenvの使用後に発生した場合は、次のコマンドを使用して修正できます。

brew reinstall python

5
別のPython バージョンをインストールした後、pipが壊れました。この解決策は修理に役立ちました。
iMitwe

15
github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rbも依存関係として追加されるのはなぜですか?:)それは完全に無関係であり、潜在的に安全ではないため、削除する必要があると思います
マーク

1
セキュリティリスクになる可能性があることは理解していますが、公式パッケージリンク(github.com/kelaberetiv/TagUI/issues/635
Vaulstein

1
@Vaulsteinさて、あなたはそれについて言及しました。これが壊れる前に、brewを使用していくつかのパッケージをインストールしたと思います。だったgpg
中毒

2
からMojaveにアップグレードした後Catalina、これにヒットしました。私brew update && brew upgradeはそれが再び機能するために必要なだけでした。アドバイスありがとうございます!
rustyMagnet

35

Debianユーザーの場合、以下が役立つかもしれません:

sudo -s

apt install libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev libtk8.5 libgdm-dev libdb4o-cil-dev libpcap-dev

次に、Python 3.Xライブラリのソースコードがあるフォルダーにcdして実行します。

./configure
make
make install

@MehmetKurtipek、回答を編集してステップを明確にしました。それでも解決しない場合は、問題を明確にしてください
Rafael B

5
Python3.7にはUbuntu 14.04以前と同様に素晴らしい問題があることがわかりました。Python3.7に最低限必要なSSLパッケージは、古いubuntusと互換性がありません。編集してくれてありがとう:)
Mehmet Kurtipek

@MehmetKurtipek私のサーバーは1404です。この問題のない最新バージョンのpythonは何ですか。私はpython 3.7.4に同じ問題があります...
オファーは

@MehmetKurtipekシステムをアップグレードせずに問題を解決しましたか?14.04にも取り組んで
います

mint19とpython 3.8を使用して、これで問題が解決しました
5uperdan

21

これを解決しようとする将来のOracle Linuxユーザーにとって、以下は私のために働いたものです。最初に不足しているライブラリをインストールします。

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel 
readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

次に、Python3.Xライブラリにcdして実行します。

make
make install 

1
この答えは私のCentOS上でうまく7.問題に対処している
マックス

これらのライブラリとは何ですか?なぜ必要なのですか?
Mohit Motwani

インターネット経由で安全な接続を行うには、たとえば「pip install」を実行するときにこれが必要です
limboy


20

Centos 7の場合:

opensslをインストールします。

sudo yum install openssl-devel

pythonディレクトリに移動すると、python tarが抽出されます。

コマンドの下で実行

sudo ./configure
sudo make
sudo make install

これはcentosの問題を修正します...


10

Windows 10、windows 7の場合CMDプロンプトでpip installが機能しない場合は、Anacondaプロンプトを使用して実行します-機能します。

https://github.com/pypa/virtualenv/issues/1139


6
私は正しい答えを知っています。Anacondaプロンプトではなく通常のcmdでpipを使用する場合は、次の3つの環境パスを追加する必要があります。D:\ Anaconda3 \ Scripts; D:\ Anaconda3 \ Library \ binはスクリプトのみになりました!
無線名小路

5

OpenSUSEの場合も同様ですが、上記のパッケージにいくつかの変更が加えられています。

zypper install zlib-devel libopenssl-devel ncurses-devel sqlite3-devel readline-devel tk-devel gdbm-devel libpcap-devel xz-devel

次にcd、Pythonソースdirおよび

make
make install

または

make
make altinstall

そしておそらく

ln -s /usr/local/lib64/python3.6/lib-dynload/ /usr/local/lib/python3.6/lib-dynload

OpenSUSEユーザーに対して実行する必要があります。Python 3.7のインストールがopenSUSE Leap 42.3で機能しないをご覧ください。



4

私のために働いた。

apt-get install libssl-dev

これを使用して、siplのSSLを有効にします。問題が発生した場合はお知らせください。


4

macOSのhomebrewでインストールした場合、これを修正する新しいバージョンが利用できる可能性があります。

$ brew update && brew upgrade pyenv

次に、Pythonバージョンを再インストールします。

$ pyenv install 3.7.2
pyenv: /Users/luckydonald/.pyenv/versions/3.7.2 already exists
continue with installation? (y/N) 

既存のpythonインストールをそのように上書きするのは少し汚いですが、私の場合はうまくいきました。


3

Visual Studio CodeがVS Codeプロンプトからpylintをインストールするときにこの問題に遭遇しました。Anacondaのインストールディレクトリを開いて実行することで問題を解決できました

pip install pylint

その後、VSコードは満足しましたが、実行中の問題は修正されませんでした

& C:/Users/happy/Anaconda3/python.exe -m pip install -U pylint

ほぼ同じエラーが発生したため、VS CodeはPythonモジュールにアクセスできません。

VSコードは、インストール時に最初に表示されるpython envを取得することに注意してください。画面の左下は、使用されているenvを示しています。その領域をクリックすると、環境を設定できます。したがって、環境に対してpipインストールを実行した場合でも、VS Codeは別のものを調べている可能性があります。

最善の方法は、VSコードで正しいpython環境が選択され、同じ環境がシステムPATHにあることを確認することでした([システムのプロパティ]-> [詳細設定]-> [環境変数]の下)。

パス変数の下で、VSCodeで使用してPATHに追加する特定のAnacondaディレクトリを編集して参照し、以下を追加する必要がありました。

C:\Users\happy\Anaconda3\
C:\Users\happy\Anaconda3\Scripts\
C:\Users\happy\Anaconda3\Library\bin\
C:\Users\happy\Anaconda3\Library\mingw-w64\bin\

Anacondaのインストールディレクトリは異なる場合があります。1つの注意点は、ターミナルを再起動するまで、WindowsではPATH変数が有効にならないことです。この場合、VSコードを閉じて再操作します。ターミナルまたはPSシェルを使用している場合は、閉じて再度開き、パスが含まれていることを確認してください。


3

上記のソリューションと同様に、pyenvを使用してpythonバージョンを再インストールします。

どういうわけか、私opensslはpyenvバージョンpythonを壊した私のをアップグレードしました。

pyenv install 3.6.8
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
...

最初の行は、それが自作のopensslに依存していると言います。


3

私はWindows 10を使用していて、Miniconda 3とPython 3.7をインストールしています。

私はこのhttps://github.com/conda/conda/issues/8273をフォローすることでこのエラーを解決しました

具体的には、次のファイルをからにコピーしC:\Users\MyUser\Miniconda3\Library\binましたC:\Users\MyUser\Miniconda3\DLLs

  • libcrypto-1_1-x64.dll
  • libcrypto-1_1-x64.pdb
  • libssl-1_1-x64.dll
  • libssl-1_1-x64.pdb


2

Chocolateyがない場合は、インストールしてください -ここから:https : //chocolatey.org/docs/installation

1つのコマンドラインライナーをコピーして貼り付け、昇格された特権でコマンドプロンプトから実行できます。

コマンドラインを使用して、anacondaをインストールします。

choco install anaconda3

環境変数を設定します。

set PATH=C:\tools\Anaconda3\Scripts;C:\tools\Anaconda3;C:\tools\Anaconda3\Library\bin;%PATH%

失敗したコマンドを実行します。私の場合、それは:

pip install conan

Anacondaは個別のpythonインストールを使用し、pipもanaconda固有です。


1

Tokciが言ったように、これはWindows 7でも機能します。

「マウスでWindowsアイコン(左下)に移動し、「Anaconda」と入力し始めます。一致するエントリがいくつか表示されます。「Anaconda Prompt」を選択します。「Anaconda Prompt」という名前の新しいコマンドウィンドウが開きます。」

その後、pipが機能します。

以下もxgboostのインポートに役立ちました:https : //www.youtube.com/watch?v= 05djBSOs1FA


同等のLinuxを探しています...とにかく、なぜこれが機能し、コマンドラインからpipを使用しても機能しないのですか?これは、ある時点であらかじめSSLを使用してanacondaのpythonを再構築している場合にのみ意味があります。
matanster

理由は
わかり

1

誰かがArch Linux OSを使用している場合は、次のコマンドを実行してTLS / SSLの問題を解決しました。

sudo pacman -S openssl

次に、pipを使用して必要なパッケージをインストールします。

pip install openpyxl

1

Anacondaプロンプトに移動し、次のように入力します(エンジンにpython 3.xがインストールされている場合)。

py -m pip install pymysql 

私は同じ問題を抱えていました、そしてこれは私の問題を解決しました。これを行った後で、PowerShellまたはその他のプロンプトにpymysqlをインポートできます。


1

ソースからUbuntuにPython 3.8をインストールしているときにこの問題が発生しました。デフォルトのpython 3.7と共に正常にインストールするために必要な手順を以下にまとめます。

sudo apt -y install libssl-dev zlib1g-dev build-essential

wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
tar -xf Python-3.8.0.tgz
cd Python-3.8.0/

./configure --enable-optimizations
make
sudo make altinstall

zlib1g-devおよびbuild-essentialのインストール手順は冗長デスクトップにはすでにインストールされていますが、AmazonのEC2インスタンスの一部では必要でした。python 3.8.0は現在のリリースですが、入手可能な最新のものに置き換える必要があります。

これらの手順は、python 3.7をpython3のデフォルトとして維持し、仮想環境でpython 3.8を実行するのに最適です。


1

この問題は、OpenSSLパッケージがPCにないことが原因です。

pip install openpyxlエラーも発生する場合 。

以下のサイトからOpenSSL(Win64 OpenSSL v1.1.1g)をインストールすることでこれを修正できます。

slproweb.com/products/Win32OpenSSL.html

変更を有効にするために、使用しているIDEを再起動します。


0

私はこの問題に遭遇しました!Miniconda3の32ビットバージョンを誤ってインストールしました。64ビットバージョンを選択してください。


0

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

yum install python36-pyOpenSSL 

Pythonのバージョンとパッケージマネージャーは異なる場合があります。



0

TSL / SSLに関連するものを変更せずにこれを修正しました。

同じことが起こっているかどうかを確認しようとしていたところpippip壊れているのがわかりました。掘り下げて、Homebrewが削除されたことが原因だと気づいたpython@2、2020年2月1日にれた。

brew uninstall python@2Homebrewによってインストールされたpython2を削除するための実行。

を使用python3して作成された仮想環境を破棄し、新しい環境を作成しました。
pip3インストールは再び正常に動作します。


2
私にとっては、opensslworkedの古いバージョンに切り替える: brew switch openssl 1.0.2t Mac OS Catalina 10.15.3を使用しています。それが役に立てば幸い。
viraj.kulkarni

-1

これは、デフォルトのssl設定の問題です。Python3をダウンロードして、システムへのパスを追加する必要があります。Pycharmを使用する場合は、インタープリターをpython3パスに設定します。その後、通常はエラーなしでpip3を使用できます。


-1

問題はおそらく、インストールされたopensslパッケージのバージョンが原因です。それが私の場合で、アップグレードするだけでこの問題を修正しました。私はbrewを使用してMac OSにいます:

brew upgrade openssl

pythonをbrewでインストールした場合、pythonはopensslに依存しているため、これで問題が直接修正されます。


-1

アナコンダプロンプトから試してみます。

(base)が表示され、pipをアップグレードします。例:

(base) C:\Users\Tom>cd ..

(base) C:\Users>cd ..

(base) C:\>python -m pip install --upgrade pip
Requirement already up-to-date: pip in g:\anaconda3\lib\site-packages (20.0.2)

(base) C:\>pip -V
pip 20.0.2 from G:\Anaconda3\lib\site-packages\pip (python 3.7)

# Try install
(base) C:\>pip install selenium

これには時間がかかりますが、Anacondaが内部で使用するSSLライブラリをインストールまたはアップグレードします。ここに行く


この答えは、OPが示すようにLinuxでバニラパイソンではなく、Windowsでcondaを使用することを想定しています
hrbdg
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.