web-dev-qa-db-ja.com

PythonのSSLモジュールは利用できません(OSXでは))

OSX 10.13のvirtualenvでpip installを実行できません。私はすでにbrew install opensslを実行しており、パス/usr/local/include/openssl../opt/openssl/include/opensslを指しています。誰かがこれを修正する方法を知っていますか?これは、brew installを使用してpythonを再インストールした後に発生しました。

pipはTLS/SSLを必要とする場所で構成されていますが、Pythonのsslモジュールは使用できません。枕の収集でURLを取得できませんでした https://pypi.python.org/ simple/pillow / :ssl証明書の確認中に問題が発生しました:SSLモジュールが利用できないため、HTTPS URLに接続できません。-スキップ要件を満たすバージョンが見つかりませんでした(バージョン:から)いいえ枕の一致する分布が見つかりました

更新:ここにいくつかの詳細があります:

✗ which python
/usr/local/opt/python/libexec/bin/python
✗ which pip
/usr/local/opt/python/libexec/bin/pip
✗ python --version
Python 3.7.4
✗ pip --version
pip 19.1.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
✗ brew info python
python: stable 3.7.4 (bottled), HEAD
Interpreted, interactive, object-oriented programming language
https://www.python.org/
/usr/local/Cellar/python/3.6.5_1 (4,795 files, 100.0MB)
  Poured from bottle on 2019-10-08 at 14:39:37
/usr/local/Cellar/python/3.7.4_1 (3,903 files, 60.6MB) *
  Poured from bottle on 2019-10-08 at 14:37:10
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/python.rb

はい、3.6.5_1と3.7.4_1の両方をインストールしています。2つを切り替える必要がある場合があるためです。

✗ brew unlink openssl
Unlinking /usr/local/Cellar/openssl/1.0.2s... 0 symlinks removed
21
John M.

sslモジュールおよびその基礎となるC拡張は、python式の一部であるように見えます。

Mac-Admin:~ admin$ python3
Python 3.7.4 (default, Sep  7 2019, 18:27:02) 
[Clang 10.0.1 (clang-1001.0.46.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> ssl
<module 'ssl' from '/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py'>
>>> import _ssl
>>> _ssl
<module '_ssl' from '/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload/_ssl.cpython-37m-darwin.so'>

したがって、欠落しているのは、おそらくbrew reinstall pythonが修正する必要があるパッケージインストールの破損を意味します。


また、Homebrewは複数のバージョンの共存を許可しますが、 そのインストールロジックは、代替バージョンを操作可能な状態に保つように完全に設計されていません バージョン化された式を介してインストールされない限り(たとえば、定期的に古いバージョンを定期的に削除します) brew cleanup)。

したがって、Pythonバージョン-またはバージョン付きの式を提供するサードパーティのタップを定期的に切り替える必要がある場合は、pyenvbrewからも利用可能)の使用を検討してください。それのための。

47
ivan_pozdeev

Mac OSX Catalina(およびOSX Mojaveでも同じ問題)Pyenv

このトピックを検索する誰にとっても、私は同じ提示の問題がありましたが、PythonがHomebrewとPyenvの両方を介してインストールされました!!バージョンを簡単に管理するためにPyenvを使用するだけの方が(IMO)よいでしょう。 @ivan_pozdeevが回答で述べたように、ここにあなたが望むかもしれないいくつかの詳細があります。

あなたの状況が類似している場合、上記の解決策はどれも物事を正しく設定するのに十分ではありません。部分的に私はここでPyenv関連の回答に助けられました: https://stackoverflow.com/a/51797298/308482 たまたまpyenv-virtualenvがインストールされているので、この2つを一緒に使用するのが一般的であるため、それについても言及します。

私は最終的に問題を解決するために次の手順を実行しました:

brew uninstall python
rm -rf $(pyenv root)
brew uninstall pyenv-virtualenv   # you may not have this installed, but...
brew uninstall pyenv

ここで、Pyenvで管理可能なクリーンインストールの場合:

brew install pyenv
pyenv install 3.6.10  (or whatever version you want)

これにより、Python 3.6.10のクリーンで機能するインストールができました。必要に応じて、別のバージョンをインストールして、Pyenvで切り替えることができます。

6
Matt Morgan

同じ問題がありますが、再インストールしてもうまくいきません。

⇒python3
/usr/local/bin/python3 blamb @ cha-109164-l:/ usr/local/bin |master⚡

⇒どのpip3/usr/local/bin/pip3 blamb @ cha-109164-l:/ usr/local/bin |master⚡

⇒/usr/local/lib/python3.7/site-packages/pip(python 3.7)blamb @ cha-109164-l:/ usr/local/bin |master⚡からのpip3 -V pip 19.3.1

⇒python3 -V Python 3.7.0 blamb @ cha-109164-l:/ usr/l

0
Bennie Lamb

私にもこのエラーがあり、brew update && brew upgradeで修正しました

0
baskcat

カタリナにも同様の問題があり、自作の再インストールを機能させることができませんでした。私はいくつかのことを試しました。

brew reinstall openssl
brew reinstall pyenv
brew reinstall pyenv-virtualenv

結局、私にとってうまくいった唯一のことは、基礎となるpythonインストールの両方を完全にアンインストールしてから、すべてを再インストールすることでした。

brew uninstall pyenv pyenv-virtualenv
brew install pyenv pyenv-virtualenv
pyenv uninstall 3.x.x
pyenv install 3.x.x
pip install -r requirements.txt
0
charlton_austin

同じエラーが発生しましたが、これはpyenv環境でpython 3.6.5を使用していたためです。以下の処理でうまくいきました。

pyenv install 3.7.3
pyenv global 3.7.3
0
Yasunari Nishi