Virtualenv: Windows10に `pip`経由でパッケージをインストールすることはできません。Pythonのsslモジュールは利用できません。

作成日 2018年02月28日  ·  54コメント  ·  ソース: pypa/virtualenv

pythonバージョン:3.6(Intel Distribution for Python for Windows 2018 update 1)
virtualenvバージョン:15.1.0
Windowsバージョン:Windows 10 Pro、ビルド17101.rs4_release.180211-1040

2つのコマンドのみを実行しました。Powershellの出力は次のとおりです。

PS E:\Python\Virtualenv\Scripts> .\activate
(Virtualenv) PS E:\Python\Virtualenv\Scripts> pip install numpy
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting numpy
  Could not fetch URL https://pypi.python.org/simple/numpy/: 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 numpy (from versions: )
No matching distribution found for numpy

このディレクトリPythonは、Pythonがインストールされている場所ではなく、通常のディレクトリにすぎません。

ここにあるようなスタンドアロンのopensslをインストールしようとしましたが、どちらも機能しませんでした。

最も参考になるコメント

私も同じ問題を抱えていました。 Pythonで新しいコンピューターを構成し、anacondaでjupyterを構成していましたが、パッケージusepipをインストールしようとすると問題が発生しました。

上記の説明に基づいて、これは環境の問題であるため、 cmdの代わりにAnacondaPromptで「pipinstall」コマンドを実行してみました。 そして、pipコマンドが実行されました。 😁

全てのコメント54件

使用されているpipは、 virtualenvにあるものだと思います。 _system_ pipはインストールできますか? そうでない場合、これはvirtualenvの問題ではない可能性があります...

@tobiasherp
システムpipは問題ありませんが、virtualenvのpipは役に立ちません。
問題がどこにあるのかわかりません。Googleで同様の状況を見つけることすらできません。 :(
numpyだけでなく、オンラインでパッケージをインストールすることもできません。 ただし、ホイールファイルがあれば正常にインストールできるので、SSLに問題があるのではないかと思います。

そうです、PyPIは現在httpsを使用しているので、SSLサポートが必要です。 システムPythonにない場合、virtualenvにもありません。 Python 3では、 sslモジュールをインポートできるはずです。

>>> import ssl

あなたの最善の策は、 sslモジュールを備えたインタプリタに切り替えることかもしれません。
https://www.python.org/からダウンロードしたばかりの3.6.4インタープリターは、SSLをサポートしているようです。

AFAICS、これはvirtualenvの問題ではありません。 それを閉じることを提案します。

これはvenvの問題ではないかもしれませんが、それでも問題です。 私の例では、venvまたはsystempipにインストールできません
私はIntelPython3をWin10 64ビットにインストールしていて、はい、opensslをインストールしてコンパイルしていますが、何らかの理由で動作しません

私はこれを見ました:[(https://software.intel.com/en-us/forums/intel-distribution-for-python/topic/737878#comment-1920719)]

しかし、この問題の自分のバージョンを修正できませんでした。

この問題に関するアドバイスは非常に役立ちます

@theCJManはまだこの問題を経験していますか?

私はその問題に取り組んでいます

2018年4月17日火曜日、19:44 Sumana Harihareswara、 notifications @ github.com
書きました:

@theCJManhttps ://github.com/theCJManまだこれを経験していますか
問題?


あなたが言及されたので、あなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/pypa/virtualenv/issues/1139#issuecomment-382081077
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/AkTyyw5zfrJFZleItkAkrR1_kE9R-C8Cks5tpioOgaJpZM4SWUf4

トランスポート層セキュリティ(TLS)は、コンピューターとPyPI間の接続がプライベートで安全であることを確認する方法の一部です。 これは、時間の経過とともにいくつかのバージョンがあった暗号化プロトコルです。

最近のバージョンのOpenSSLなどのTLSサポートライブラリを使用してPyPIに接続する必要があります。 実行する必要のある具体的な手順は、Pythonのインストール元のオペレーティングシステムのバージョン(python.org、OSベンダー、または中間ディストリビューター)、およびインストールされているPythonのバージョンsetuptoolsによって異なります。 pipenv 、およびpip 。 ヘルプが必要な場合は、Freenodeの#pypa IRCチャネルにアクセスするか、 pypa / packages-problems / issuesで問題を報告するか、OSとインストールの詳細およびpip install-vvvの出力を含むpython-helpメーリングリストに投稿してください。アップグレードピップ

私はこれをmacos、python 2.7.15でも経験しました-システムpythonは正常に動作し、仮想envは次の理由でインストールできませんでした

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

私のシステムpythonはsslを正常にインポートしましたが、venvpythonは次のエラーを出しました:

raceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 126, in <module>
    from _ssl import HAS_SNI, HAS_ECDH, HAS_NPN, HAS_ALPN, HAS_TLSv1_3
ImportError: cannot import name HAS_TLSv1_3

envディレクトリを削除し、envを再作成した後、すべて正常に機能しました。

@ liurui39660と同じ問題が発生しましたが、Intel Python Distributionpython -m venvを使用してvenvを作成しました。 これはsslモジュールの問題のようで、 pipとは何の関係もありません。

(venv) C:\Users\ceefour\git\tews\ecn-svc>python
Python 3.6.3 |Anaconda custom (64-bit)| (default, May  3 2018, 23:39:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Intel(R) Distribution for Python is brought to you by Intel Corporation.
Please check out: https://software.intel.com/en-us/python-distribution
>>> import ssl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\ProgramData\Anaconda3\lib\ssl.py", line 101, in <module>
    import _ssl             # if we can't import it, let the error propagate
ImportError: DLL load failed: The operating system cannot run %1.
>>>

このバグは、venv内でIntelPythonを使用している場合にのみトリガーされることに注意してください。 基本環境を使用する場合、次のように機能します。

(base) C:\Users\ceefour>python
Python 3.6.3 |Anaconda custom (64-bit)| (default, May  3 2018, 23:39:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Intel(R) Distribution for Python is brought to you by Intel Corporation.
Please check out: https://software.intel.com/en-us/python-distribution
>>> import ssl
>>> 

更新:このスレッドは手がかりのようです:

Rohit J.(Intel)Thu、07/06 / 2017-21:40
pipは、WindowsのIDPとMinicondaの両方で使用できませんでした。 この問題は、システムパスにインストールされている競合するライブラリ(libeay32.dll)が原因で発生しました。 実行時に、このライブラリのロードは、ディストリビューションに同梱されているものよりも優先されました。 バージョンの競合が発生し、「ImportError:DLLのロードに失敗しました:オペレーティングシステムは%1を実行できません」で実行に失敗しました。 この無関係なライブラリをシステムパスから削除すると、問題が解決しました。

C:\ProgramData\Anaconda3\Library\binの1つを含め、 C:\Program Files libeay32.dllの_lots_があります

C:\ProgramData\Anaconda3\Library\binPATHの前に移動しようとしましたが、それでもエラーが発生します。

私も同じ問題を抱えていました。 Pythonで新しいコンピューターを構成し、anacondaでjupyterを構成していましたが、パッケージusepipをインストールしようとすると問題が発生しました。

上記の説明に基づいて、これは環境の問題であるため、 cmdの代わりにAnacondaPromptで「pipinstall」コマンドを実行してみました。 そして、pipコマンドが実行されました。 😁

Anaconda3でPython3.7.1をインストールした後、昨日からまだフォローに苦労しています

pipはTLS / SSLを必要とする場所で構成されていますが、Pythonのsslモジュールは使用できません。
'SSLError( "SSLモジュールが利用できないためHTTPS URLに接続できません。")によって接続が切断された後に再試行(Retry(total = 4、connect = None、read = None、redirect = None、status = None))) ':/ simple / pip /
'SSLError( "SSLモジュールが利用できないためHTTPS URLに接続できません。")によって接続が切断された後、再試行(Retry(total = 3、connect = None、read = None、redirect = None、status = None))) ':/ simple / pip /
'SSLError( "SSLモジュールが利用できないためHTTPS URLに接続できません。")によって接続が切断された後に再試行(Retry(total = 2、connect = None、read = None、redirect = None、status = None)) ':/ simple / pip /
'SSLError( "SSLモジュールが利用できないためHTTPS URLに接続できません。")によって接続が切断された後に再試行(Retry(total = 1、connect = None、read = None、redirect = None、status = None)) ':/ simple / pip /
'SSLError( "SSLモジュールが利用できないためHTTPS URLに接続できません。")によって接続が切断された後に再試行(Retry(total = 0、connect = None、read = None、redirect = None、status = None)) ':/ simple / pip /
URLを取得できませんでしたhttps://pypi.org/simple/pip/:ssl証明書の確認に問題がありました:HTTPSConnectionPool(host = 'pypi.org'、port = 443):URLで最大再試行回数を超えました:/ simple / pip /(SSLError( "SSLモジュールが利用できないためHTTPS URLに接続できません。"))-スキップ
要件はすでに最新です:d:\ anaconda3 \ lib \ site-packages(18.1)のpip
pipはTLS / SSLを必要とする場所で構成されていますが、Pythonのsslモジュールは使用できません。
URLを取得できませんでしたhttps://pypi.org/simple/pip/:ssl証明書の確認に問題がありました:HTTPSConnectionPool(host = 'pypi.org'、port = 443):URLで最大再試行回数を超えました:/ simple / pip /(SSLError( "SSLモジュールが利用できないためHTTPS URLに接続できません。"))-スキップ

私も同じ問題を抱えていました。 willliu1995の提案を使用すると、問題が解決しました。 cmdプロンプトからpipを実行しても機能しませんでしたが、jupyternotebookを起動して!pipinstallを実行しました働いた。

pip install pandasがCMDプロンプトで機能しない場合は、Anacondaプロンプトを使用してこれを実行します-機能します。 これを使用してAnacondaプロンプトを見つけることができます:

マウスを使ってWindowsアイコン(左下)に移動し、「Anaconda」と入力し始めます。 一致するエントリがいくつか表示されるはずです。 「AnacondaPrompt」を選択します。 「AnacondaPrompt」という名前の新しいコマンドウィンドウが開きます。 ソース-https://stackoverflow.com/questions/47914980/how-to-access-anaconda-command-prompt-in-windows-10-64-bit

代わりにWindowsコマンドプロンプトを使用する場合は、Windows環境パスに次のディレクトリを追加する必要があります。
%Miniconda3_DIR%;%Miniconda3_DIR%\Library\mingw-w64\bin;%Miniconda3_DIR%\Library\usr\bin;%Miniconda3_DIR%\Library\bin;%Miniconda3_DIR%\Scripts;%Miniconda3_DIR%\bin;
[ここで、 %Miniconda3_DIR%はMiniconda(またはAnaconda)のインストールパスに置き換える必要があります]

たとえば、MinicondaをE:\Portable\Miniconda3にインストールしています。 したがって、私のWindowsPATHには次のフォルダを含める必要がありました。
E:\Portable\Miniconda3;E:\Portable\Miniconda3\Library\mingw-w64\bin;E:\Portable\Miniconda3\Library\usr\bin;E:\Portable\Miniconda3\Library\bin;E:\Portable\Miniconda3\Scripts;E:\Portable\Miniconda3\bin;

@shripremありがとう! 動いた。 通常、pipを使用するには、PATH変数に%Miniconda3_DIR%\ Scriptsを追加するだけでよいため、ソリューションはこれがシステムパスの問題であることを確認します。 なぜこれが変わったのか分かりますか?

@EthanBackToLife AnacondaプロンプトでPATH環境変数を確認したところ、Anacondaがそれらすべてのディレクトリの前にプロンプ​​トPATH変数を付加していることがわかりました。 そこで、そのパスのデルタ部分をWindows PATH変数に追加して、pipで機能することを確認しました。

別のPCにCondaをインストールしようとしているときに、パスの変更をはるかに短いものに調整することができます: %Miniconda3_DIR%;%Miniconda3_DIR%\Scripts;%Miniconda3_DIR%\Library\bin
[後から考えると、以前の投稿からパスに追加された他のディレクトリは、Condaの新規インストールでは存在しない/空であることがわかります。]

このパスの絞り込みで、 %Miniconda3_DIR%\Library\binフォルダーを確認できます。 ここには、次のようなファイルがあります。 libcrypto-1_1-x64.dll, libcrypto-1_1-x64.pdb, libssl-1_1-x64.dll, openssl.exe, libssl-1_1-x64.pdb, openssl.pdbは、pip(およびconda)パッケージのインストールに関するSSL / TLSの問題を解決するために重要だと思います。

pythonバージョン:3.6(Intel Distribution for Python for Windows 2018 update 1)
virtualenvバージョン:15.1.0
Windowsバージョン:Windows 10 Pro、ビルド17101.rs4_release.180211-1040

2つのコマンドのみを実行しました。Powershellの出力は次のとおりです。

PS E:\Python\Virtualenv\Scripts> .\activate
(Virtualenv) PS E:\Python\Virtualenv\Scripts> pip install numpy
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting numpy
  Could not fetch URL https://pypi.python.org/simple/numpy/: 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 numpy (from versions: )
No matching distribution found for numpy

このディレクトリPythonは、Pythonがインストールされている場所ではなく、通常のディレクトリにすぎません。

ここにあるようなスタンドアロンのopensslをインストールしようとしましたが、どちらも機能しませんでした。

私はあなたと同じ質問に出くわしました、そして私はコマンド。\ activateを使おうとしました、そしてそれから質問を完全に解決しました、私はもうあなたに感謝することができませんでした。

@EthanBackToLife AnacondaプロンプトでPATH環境変数を確認したところ、Anacondaがそれらすべてのディレクトリの前にプロンプ​​トPATH変数を付加していることがわかりました。 そこで、そのパスのデルタ部分をWindows PATH変数に追加して、pipで機能することを確認しました。

別のPCにCondaをインストールしようとしているときに、パスの変更をはるかに短いものに調整することができます: %Miniconda3_DIR%;%Miniconda3_DIR%\Scripts;%Miniconda3_DIR%\Library\bin
[後から考えると、以前の投稿からパスに追加された他のディレクトリは、Condaの新規インストールでは存在しない/空であることがわかります。]

このパスの絞り込みで、 %Miniconda3_DIR%\Library\binフォルダーを確認できます。 ここには、次のようなファイルがあります。 libcrypto-1_1-x64.dll, libcrypto-1_1-x64.pdb, libssl-1_1-x64.dll, openssl.exe, libssl-1_1-x64.pdb, openssl.pdbは、pip(およびconda)パッケージのインストールに関するSSL / TLSの問題を解決するために重要だと思います。

素晴らしい説明! ありがとう。

@shripremがコメントしたことを実行した後、私はまだこの問題を抱えています。 Pythonバージョン3.7.1およびpipバージョン18.1(それが役立つ場合)。

「この問題を解決するには、システム環境でlibeay32.dll(私の場合は.. \ IntelPython3 \ pkgs \ openssl-1.0.2l-vc14_intel_0 \ Library \ bin)を最上位に持つintel-pythonのdirパスを追加します。 「」

参照: https ://software.intel.com/en-us/forums/intel-distribution-for-python/topic/737878

pipを使用するには、「Scripts」ディレクトリにいる必要があることがわかりました

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

Anacondaプロンプトだけでなく、通常のCMDでpipを使用する場合。
3つの環境パスを追加する必要があります。
これらのように:
D:\ Anaconda3;
D:\ Anaconda3 \ Scripts;
D:\ Anaconda3 \ Library \ bin

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

環境ユーザー変数にパスC:\ Anaconda3 \ Library \ binを指定します。
または
基本Pythonにopensslがインストールされているかどうかを確認してください
次のコマンドを使用してインストールしない場合
pip install pyopenssl

パスは正しく追加されていると思いますが、CMDでもAnacondaプロンプトでもpipはまだ機能していません。

「スクリプト」ディレクトリから試しましたか?

「スクリプト」ディレクトリから試しましたか?

cd xxx / Scriptsとpipinstallを意味する場合、私は今試しましたが、機能しません。

@SnarkyPapi 、あなたは「パスが正しく追加されていると思います」と言います。 この事実を確認するには、以下の太字でリストされている4つのコマンドを実行します。

  1. コマンド:> where python
    出力は次のようになります:_C:\ Miniconda3-x64 \ python.exe_

  2. コマンド:> where pip
    出力は次のようになります:_C:\ Miniconda3-x64 \ Scriptspip.exe_

  3. コマンド:>ここでopenssl
    出力は次のようになります。
    [openssl.exeが環境パスの複数の場所にインストールされている可能性があることに注意してください。 私の場合、opensslもPerlインストールの一部としてインストールされています]
    _C:\ Perl \ c \ bin \ openssl.exe
    C:\ Miniconda3-x64 \ Library \ bin \ openssl.exe_

  4. コマンド:> where libssl-1_1-x64.dll
    出力は次のようになります:_C:\ Miniconda3-x64 \ Library \ bin \ libssl-1_1-x64.dll_

これらのいずれについても、「INFO:指定されたパターンのファイルが見つかりませんでした」という出力が表示された場合、pipに必要なパスコンポーネントの1つが環境にありません。

こんにちは、4つのコマンドはうまく機能し、4番目のコマンドでは2行が表示されます。
C:\ Windows \ System32 \ libssl-1_1-x64.dll
C:\ Anaconda \ Library \ bin \ libssl-1_1-x64.dll

$ PATHの先頭に「C:\ Anaconda \ Library \ bin」を配置することをお勧めします

$ PATHの先頭に「C:\ Anaconda \ Library \ bin」を配置することをお勧めします
試してみましたが、問題はまだ残っています。

echo %PATH%できますか

PATHを変更するために新しいターミナルを開いた可能性があります

別の解決策:C:\ Users \ my_user_namepipの下にpip.iniファイルを作成して、次のように記述して、それを機能させることができました。

[グローバル]
index-url = http://pypi.douban.com/simple/
[インストール]
trusted-host = pypi.douban.com

今のところ問題は解決していますが、このミラーを使用したダウンロード速度はそれほど速くありません(約800kb / s)。 いつものように動作させる方法はありますか?

echo %PATH%できますか

PATHを変更するために新しいターミナルを開いた可能性があります

C:\ Anaconda \ Library \ bin; D:\ Software \ NVIDIA GPU Computing Toolkit \ CUDA \ v10.0 \ bin; D:\ Software \ NVIDIA GPU Computing Toolkit \ CUDA \ v10.0 \ libnvvp; C:\ Program Files (x86)\ Common Files \ Oracle \ Java \ javapath; C:\ Program Files(x86)\ Razer Chroma SDK \ bin; D:\ Software \ Razer Chroma SDK \ bin; C:\ windows \ system32; C:\ windows ; C:\ windows \ System32 \ Wbem; C:\ windows \ System32 \ WindowsPowerShell \ v1.0 \; C:\ windows \ System32 \ OpenSSH \; C:\ Program Files(x86)\ NVIDIA Corporation \ PhysX \ Common; D:\ Software \ PuTTY \; C:\ windows \ system32 \ config \ systemprofile \ AppData \ Local \ Microsoft \ WindowsApps; D:\ Software \ dotnet \; D:\ Software \ MySQL \ MySQL Utilities 1.6 \; C:\ Program Files \ Intel \ WiFi \ bin \; C:\ Program Files \ Common Files \ Intel \ WirelessCommon \; D:\ Software \ Git \ cmd; C:\ Users \ Cyrilpippip.ini; C:\ Anaconda; C:\ Anaconda \ Library \ mingw-w64 \ bin; C:\ Anaconda \ Library \ usr \ bin; C:\ Anaconda \ Scripts; C:\ Anaconda \ bin; C:\ Anaconda \ Library \ bin; C:\ Anaconda; C :\ Anaconda \ Library \ mingw-w64 \ bin; C:\ Anaconda \ Library \ usr \ bin; C:\ Anaconda \ Scripts; C:\ Anaconda \ bin; D:\ Software \ D ocker Toolbox; C:\ Users \ Cyrilpippip.ini;

SSLライブラリはC:\ anaconda \ Library \ binフォルダーにあります。 ライブラリをインストールしようとするときに、そのパスを設定する必要があります。 これは、仮想環境をアクティブ化すると、PATHが変更されるためです。

したがって、

  • 仮想環境を使用しない場合は、PATHを手動で次のように設定します。
set PATH=C:\anaconda;C:\anaconda\Scripts;C:\anaconda\Library\bin
pip  install any_library
or
pip install -r requirements.txt

  • 仮想環境を使用する場合は、PATHを手動で次のように設定します。
set PATH=C:\venvs\ve1\;C:\venvs\ve1\Scripts;C:\anaconda\Library\bin
pip  install any_library
or
pip install -r requirements.txt

C:\ anaconda \ Library \ binは、VMで作業しているかどうかに関係なく、どちらの場合も一貫していることに注意してください。

@datatravelgitこんにちは、私は仮想環境を使用していません。パスを手動で設定した後もこの問題が発生します。

上記の有益なコメントをありがとう! パス変数に以下を追加すると、Windows10で機能しました。
C:\ Users ... \ Anaconda3
C:\ Users ... \ Anaconda3 \ Scripts
C:\ Users ... \ Anaconda3 \ Library \ bin

@ liurui39660と同じ問題が発生しましたが、Intel Python Distribution _and_ python -m venvを使用してvenvを作成しました。 これはsslモジュールの問題のようで、 pipとは何の関係もありません。

(venv) C:\Users\ceefour\git\tews\ecn-svc>python
Python 3.6.3 |Anaconda custom (64-bit)| (default, May  3 2018, 23:39:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Intel(R) Distribution for Python is brought to you by Intel Corporation.
Please check out: https://software.intel.com/en-us/python-distribution
>>> import ssl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\ProgramData\Anaconda3\lib\ssl.py", line 101, in <module>
    import _ssl             # if we can't import it, let the error propagate
ImportError: DLL load failed: The operating system cannot run %1.
>>>

このバグは、venv内でIntelPythonを使用している場合にのみトリガーされることに注意してください。 基本環境を使用する場合、次のように機能します。

(base) C:\Users\ceefour>python
Python 3.6.3 |Anaconda custom (64-bit)| (default, May  3 2018, 23:39:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Intel(R) Distribution for Python is brought to you by Intel Corporation.
Please check out: https://software.intel.com/en-us/python-distribution
>>> import ssl
>>> 

更新:このスレッドは手がかりのようです:

Rohit J.(Intel)Thu、07/06 / 2017-21:40
pipは、WindowsのIDPとMinicondaの両方で使用できませんでした。 この問題は、システムパスにインストールされている競合するライブラリ(libeay32.dll)が原因で発生しました。 実行時に、このライブラリのロードは、ディストリビューションに同梱されているものよりも優先されました。 バージョンの競合が発生し、「ImportError:DLLのロードに失敗しました:オペレーティングシステムは%1を実行できません」で実行に失敗しました。 この無関係なライブラリをシステムパスから削除すると、問題が解決しました。

C:\ProgramData\Anaconda3\Library\binの1つを含め、 C:\Program Files libeay32.dllの_lots_があります

C:\ProgramData\Anaconda3\Library\binPATHの前に移動しようとしましたが、それでもエラーが発生します。
-------------更新:20190327
刚qq来了

-------------前是正内容谢谢、我ジャック天也政策到了前的问题、然后我☆Anaconda执行importssl、anaconda中的报错、外外一部不报错。如像:
GitHub Logo
我☆pycharm中的路角修改后、pycharm也を最高运行了。

envs / myenv / Library / binフォルダー内のlibssl-1_1-x64.dllをベースenvdllに置き換える必要がありました。 それは同じものではありませんでした。 さらに、C:/ Windows / System32 /とC:/ ProgramFilesの特定のIntelフォルダーの下に別のlibssl-1_1-x64.dllがありました。 パスからIntelのものを削除し、system32の下にあるものを削除しました。

破損したdllがいつコピーされたかはわかりませんが、conda / Library / bin /のものに置き換えるとうまくいきました。

エラーをさらにチェックするには、環境をアクティブにしてpython -c "import ssl"と入力します。 エラーが「モジュールが見つかりません」(-> dllがまったく見つからない、パスの問題である可能性があります)または「プロシージャエントリポイントが見つかりません」(->破損/間違ったdllが見つかった可能性があります)の場合、これは重要な違いです。 )。

envs / myenv / Library / binフォルダー内のlibssl-1_1-x64.dllをベースenvdllに置き換える必要がありました。 それは同じものではありませんでした。 さらに、C:/ Windows / System32 /とC:/ ProgramFilesの特定のIntelフォルダーの下に別のlibssl-1_1-x64.dllがありました。 パスからIntelのものを削除し、system32の下にあるものを削除しました。

破損したdllがいつコピーされたかはわかりませんが、conda / Library / bin /のものに置き換えるとうまくいきました。

エラーをさらにチェックするには、環境をアクティブにしてpython -c "import ssl"と入力します。 エラーが「モジュールが見つかりません」(-> dllがまったく見つからない、パスの問題である可能性があります)または「プロシージャエントリポイントが見つかりません」(->破損/間違ったdllが見つかった可能性があります)の場合、これは重要な違いです。 )。

同じ問題が発生しています-「指定された手順が見つかりませんでした。」 -特定の環境でのみ。
ベース環境では、「importssl」が適切に機能します。

envのlibssl-1_1-x64.dllをベースenvのlibssl-1_1-x64.dllに置き換えようとしましたが、役に立ちませんでした。
これを引き起こしている他のファイルはありますか?

みんなのコメントありがとうございます。
追加しても問題は修正されませんでした\ Anaconda3 \ Library \ binをパスに、またはパスの先頭に移動します。 \ Anaconda3 \ Scriptsと\ Anaconda3 \ Library \ mingw-w64 \ binについても同じことが言えます。

envのlibssl-1_1-x64.dllをベースenvのlibssl-1_1-x64.dllに置き換えようとしましたが、役に立ちませんでした。
これを引き起こしている他のファイルはありますか?

C:/ Windows / System32 /でlibssl-1_1-x64.dllとlibcrypto-1_1- x64.dllの両方を削除すると、問題が修正されました。

私はあなたの相棒が大好きです!
C:/ Windows / System32 /でlibssl-1_1-x64.dllとlibcrypto-1_1-x64.dllの両方を削除すると、問題が修正されました。

Win64OpenSSL_Light-1_1_1b.exe https://slproweb.com/download/Win64OpenSSL_Light-1_1_1b.exeをインストールすると、pipが正常に機能します。

使用してみてください:

pip3 install <package>

この問題は、このPCを通るパスを変更することで解決できます
プロパティに移動
次に、詳細設定に移動します
次に環境変数
次にシステム変数
その後、パス
パスをダブルクリック
インストールされているPythonのパスを確認してください
あなたがアナコンダを持っているなら
次に、両方のパスを削除し、
次に、[新規]をクリックします
次に、python3.7または最新のpythontilスクリプトのパスをコピーします。
(C:\ Users \ 'ユーザー名' \ AppData \ Local \ ProgramsPythonPython37 \ scripts)
次に[OK]をクリックします
次も[新規]をクリックします
次に、パスC:\ Users \ 'ユーザー名' \ AppData \ Local \ ProgramsPythonPython37をコピーします
次に、管理者としてcmdを再起動し、インストールを再試行します

面白いことに、Android、Termuxでも同じ問題が発生しました。 sslがないため、Pipはpypi.orgに接続できませんでした。
問題は明らかにsslモジュールにあります。 したがって、最初にsslがインストールされているかどうかを確認してください。 はいの場合、SSLアルゴリズムは急速に進化し、互換性がなくなるため、最新バージョンにアップグレードしてください。
既存のライブラリを更新するか、より適切にサポートされているパッケージをインストールしてみてください。

WindowsのAnaconda / Minicondaユーザーの場合、これはライブラリのロードの問題です。 https://conda.io/projects/conda/en/latest/user-guide/troubleshooting.html#condahttperror-http-000-connection-failedのトラブルシューティングFAQに情報があります

一部のユーザーが指摘しているように、Windows \ System32フォルダーへのopensslの他のインストールは非常に面倒な場合があります。 この関連するトラブルシューティングセクションには、Anaconda(およびconda-forge)のPythonの回避策に関する情報があります: https ://conda.io/projects/conda/en/latest/user-guide/troubleshooting.html#numpy -mkl-library-ロードに失敗しました

アナコンダの問題はhttps://github.com/continuumio/anaconda-issuesで報告できます

pipモジュールのインストールでSSLの問題が再発しました。 これまで、pipは数か月間正常に機能していました。3つのcondaフォルダーを含むように環境パスを正しく構成した後: %Conda_DIR%;%Conda_DIR%\Scripts;%Conda_DIR%\Library\bin

数時間の論争の後、私はこれらの2つの解決策にたどり着きました。1つはpipを介したモジュールのインストール用で、もう1つはcondaを介したものです。

モジュールはpip経由でインストールされます

基本的に、エラーメッセージに基づいて、信頼できるホストとしてpypi.orgサイトとfiles.pythonhosted.orgサイトを追加する必要がありました。

pip config set global.trusted_host "pypi.org files.pythonhosted.org"を介してこれを1回行うことができます
この設定変更は、 C:\Users\user_name\Appdata\Roaming\pip\pip.ini (つまり、 %APPDATA%\pip\pip.ini )ファイルに保存されます。 これは、Windowsの観点からは管理者以外のユーザーフォルダにあるため、安全に行うことができます。

[「グローバル」設定の変更に慣れていない場合は、モジュールをインストールするたびにこれを繰り返すことができます。
例: pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org -U matplotlib ]

モジュールはconda経由でインストールされます

ベースマップなどの一部のPythonモジュールは、pip経由でインストールされません。 代わりにコンダを使わなければなりませんでした。
condaでSSLエラーをオーバーライドするには、次を使用する必要がありました: conda config --set ssl_verify false

[condaモジュールのインストール後、 conda config --set ssl_verify trueでSSLをオンに戻しました]

今日これらの問題を解決している間、 https: //conda.io/projects/conda/en/latest/user-guide/troubleshooting.html#ssl-connection-errorsの一般情報とインストール時エラーからの特定のサイト情報メッセージ-どちらも役に立ちました。

こんにちは、anacondaプロンプトで、TSL / SSLの問題のためにpipを使用できません:

(base) C:\Users\joshu>pip install pandahouse
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

しかし、Pythonネイティブを使用する場合は、必要なものをすべてpipインストールできます。

C:\Users\joshu\AppData\Local\Programs\Python\Python37\Scripts>pip install scrapy
Collecting scrapy
  Downloading http....

私がこれまでにしたこと:

  1. 最初にPythonをインストールしました
  2. インストールされたanaconda
  3. アナコンダを再インストールしました
  4. System32 /からlibcrypto-1_1-x64.dllとlibssl-1_1-x64.dllを削除しました
  5. PATHのトップシステム変数とユーザー変数にAnacondaライブラリを追加しました
    C:\Users\joshu\Anaconda3\Library\bin
  6. それでも動作しません

ネイティブPythonでのCMDプロンプトの場所:

C:\Users\joshu\AppData\Local\Programs\Python\Python37\Scripts>where libssl-1_1-x64.dll
C:\Users\joshu\Anaconda3\Library\bin\libssl-1_1-x64.dll

C:\Users\joshu\AppData\Local\Programs\Python\Python37\Scripts>where libcrypto-1_1-x64.dll
C:\Users\joshu\Anaconda3\Library\bin\libcrypto-1_1-x64.dll

Anacondaプロンプトの場所:

(base) C:\Users\joshu>where libssl-1_1-x64.dll
C:\Users\joshu\Anaconda3\Library\bin\libssl-1_1-x64.dll

(base) C:\Users\joshu>where libcrypto-1_1-x64.dll
C:\Users\joshu\Anaconda3\Library\bin\libcrypto-1_1-x64.dll

これが重要かどうかはわかりませんが、OPENSSL_CONF C:\ OpenSSL-Win64 \ bin \ openssl.cfgがシステム変数のPATHの上に表示されます。

誰かがこれを解決する方法がわからないので、ネイティブpythonの代わりにAnaconda / Spyderを使用することを本当に望んでいます。

@jmhcodes 、このリンクをチェックしてください: https ://stackoverflow.com/questions/41328451/ssl-module-in-python-is-not-available-when-installing-package-with-pip3

また、stackoverflowで、仕事用PCで直面し始めたSSL証明書検証エラーの突然の再発に関連する別の議論に出くわしました。 ディスカッションリンクは次のとおりです: https ://stackoverflow.com/questions/25981703/pip-install-fails-with-connection-error-ssl-certificate-verify-failed-certi

それらの回答のいくつかには、次のような記述がありました。

私の場合、会社のネットワークの証明書が問題でした。

最近、SSLトラフィックをフィルタリングできるように独自の認証局を使用する会社のWebコンテンツフィルターが原因で、この問題が発生しました。

ですから、私の場合、私のピップを壊したのは企業ネットワークファイアウォールでした。 ただし、信頼できるホストとしてfiles.pythonhosted.org &** pypi.orgを追加すると、現時点で問題が解決しました。

正直なところ、先週問題を解決したとき、2回目のstackoverflowの議論を見たことがなく、解決策の手順をここに投稿しました。 stackoverflowの記事の回答の大部分は、 --trusted-hostを使用することでpipの問題も解決したことに同意しています。 上記の2つのサイトに加えて、 pypi.python.orgを追加することもお勧めします

@shriprem

@jmhcodes 、このリンクをチェックしてください: https ://stackoverflow.com/questions/41328451/ssl-module-in-python-is-not-available-when-installing-package-with-pip3

また、stackoverflowで、仕事用PCで直面し始めたSSL証明書検証エラーの突然の再発に関連する別の議論に出くわしました。 ディスカッションリンクは次のとおりです: https ://stackoverflow.com/questions/25981703/pip-install-fails-with-connection-error-ssl-certificate-verify-failed-certi

私はこれらの2つの投稿も見てきましたが、それをグローバルに信頼できるホストとして追加して立ち去ることはできましたが、そうするのに十分な快適さはありません。

私が本当に答えようとしているのは、cmd行のネイティブpythonパッケージ内でSSL / TSLの問題なしにpipが機能するのに、openssl / libssl-1_1-x64.dll / libcrypto-1_1-x64であってもanacondaプロンプトでは機能しない理由です。 .dllはすべて同じ場所を指しています。

@jmhcodes 、通常のコマンドプロンプトとAnacondaプロンプトの両方でコマンドwhere pip.exeを実行します。 どちらもpip.exeに同じパスを返しますか?

Anacondaプロンプトが通常のコマンドプロンプトと比べて環境にもたらす違いのいくつかを次に示します。

  1. Anacondaは、通常の環境パスの最前部にある7つのサブディレクトリのプレフィックスを付けます。 これを確認するには、両方の環境内からコマンドecho %path%を実行し、それらを比較します。 これらの7つのサブディレクトリは次のとおりです。
    %CONDA_DIR%; %CONDA_DIR%\Library\mingw-w64\bin; %CONDA_DIR%\Library\usr\bin; %CONDA_DIR%\Library\bin; %CONDA_DIR%\Scripts; %CONDA_DIR%\bin; %CONDA_DIR%\condabin;

_:%CONDA_DIR%は、Anacondaインストールパスに置き換える必要があります。_

  1. Anacondaは、次の新しい環境変数も定義しています。
    CONDA_DEFAULT_ENV, CONDA_EXE, CONDA_PREFIX, CONDA_PROMPT_MODIFIER, CONDA_PYTHON_EXE, CONDA_SHLVL, PYTHONIOENCODING, PROJ_LIB, _CONDA_SET_PROJ_LIB
    これを確認するには、両方の環境からコマンドsetを実行し、それらを比較します。

2つの環境間のこれらの違いは、発生している問題の原因となる可能性があります。 さらに掘り下げるのはあなた次第です。

ただし、pip.exeが両方の環境の同じバイナリを指している場合は、pipの実行に使用している環境についてあまり気にする必要はありません。 また、非常によく知られているpython.orgpipサイトを信頼できるホストとして追加することについても心配する必要はありません。 そのため、stackoverflowで多くの人がいました。 それは私の2セントです。

最後に、あなたは次のように述べました:

これが重要かどうかはわかりませんが、OPENSSL_CONF C:\ OpenSSL-Win64 \ bin \ openssl.cfgがシステム変数のPATHの上に表示されます。

これは、アルファベット順にリストされている場合、システム変数OPENSSL_CONFがPATHの前に来るためです。 したがって、あなたが抱えている問題には関係ありません。 それとも私はあなたが言っていることを誤解しましたか?

アナコンダプロムト
pip 19.1.1 from C:\ProgramData\Anaconda3\lib\site-packages\pip (python 3.7)

Cmdプロンプト
C:\Users\joshu\AppData\Local\Programs\Python\Python37\Scripts\pip.exe

しかし、spyder / anaconda navや、anacondaプロンプト以外のanacondaスイートに関連するものを開くことさえできません。

(base) C:\Users\joshu>spyder.exe
Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\external\github.py", line 51, in <module>
    from urllib2 import build_opener, HTTPSHandler, Request, HTTPError
ModuleNotFoundError: No module named 'urllib2'

上記の例外の処理中に、別の例外が発生しました。

Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 3285, in main
    mainwindow = run_spyder(app, options, args)
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 3140, in run_spyder
    main.setup()
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 809, in setup
    from spyder.plugins.console import Console
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\plugins\console.py", line 37, in <module>
    from spyder.widgets.reporterror import SpyderErrorDialog
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\widgets\reporterror.py", line 26, in <module>
    from spyder.widgets.github.backend import GithubBackend
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\widgets\github\backend.py", line 33, in <module>
    from spyder.utils.external import github
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\external\github.py", line 58, in <module>
    from urllib.request import build_opener, HTTPSHandler, HTTPError, Request
ImportError: cannot import name 'HTTPSHandler' from 'urllib.request' (C:\ProgramData\Anaconda3\lib\urllib\request.py)

Visual Studio Codeを使用していますが、同じ問題が発生しました。これは、アクティブなconda virtualenvが実行されなかったためです。

imagen

このページは役に立ちましたか?
0 / 5 - 0 評価