web-dev-qa-db-ja.com

OSX上のPython3での証明書の問題

OSXで複数のユーザーと同じpython問題が発生します。https経由で何かにアクセスしようとすると表示されます。

ssl.SSLError:[SSL:CERTIFICATE_VERIFY_FAILED]証明書の検証に失敗しました(_ssl.c:749)

私は次の解決策を承知しています(受け入れられた応答): https://stackoverflow.com/questions/42098126/mac-osx-python-ssl-sslerror-ssl-certificate-verify-failed-certificate-verify

しかし、残念ながら、次のようなフォルダがない場合:

/Applications/Python 3.6/ReadMe.rtf

したがって、私はどのように進めるかはしません。特にpython3をインストールしたときは、

brew install python3

コマンドもアップしてみました

brew upgrade python3 

しかし、何も変わっていません。さらに奇妙なことに、brewによると、python 3.7.2.1がインストールされています。アップグレードを再試行すると次のエラーが返されるためです。

Tommasos-MBP:~ tommaso$ brew upgrade python3
Error: python3 3.7.2_1 already installed

しかし、自分のコンピューターのpython3バージョンを確認すると、これが表示されます。

Tommasos-MBP:~ tommaso$ python3 --version
Python 3.6.3

Pythonがまだ3.6であるときに、3.7がインストールされているとbrewが考えるのはなぜですか?

編集Brew Doctorを実行すると、次のようになります。

警告:「config」スクリプトは、システムまたはHomebrewディレクトリの外部に存在します。 ./configureスクリプトは、ソフトウェアパッケージがインストールされているかどうか、およびコンパイルおよびリンク時に使用する追加のフラグを決定するために、*-configスクリプトを探すことがよくあります。

パスに追加のスクリプトがあると、configスクリプトがシステムまたはHomebrewが提供する同じ名前のスクリプトをオーバーライドする場合、Homebrewを介してインストールされたソフトウェアを混乱させる可能性があります。次の「config」スクリプトが見つかりました:
/ライブラリ/Frameworks/Python.framework/Versions/3.6/bin/python3.6m-config /Library/Frameworks/Python.framework/Versions/3.6/bin/python3-config
/ライブラリ/Frameworks/Python.framework/Versions/3.6/bin/python3.6-config

警告:セラーにリンクされていない樽があると、樽のリンクを解除するとビルドに問題が発生し、それらの樽に依存する醸造がビルド後に正しく実行されなくなる可能性があります。これらに対してbrew linkを実行します:python
berkeley-db

3

Python 3のいくつかのバージョンを実行しています:

  • 公式インストーラー経由で/Library/Frameworks/Python.framework/Versions/3.6/および/Applications/Python 3.6(3.6)にインストールされたもの
  • brew install python(3.7)経由でHomebrewを介して1つ

これらは競合する可能性があります。とにかくそのうちの1つだけが必要です。最初のものをアンインストールし、Homebrew Pythonのみで作業することをお勧めします。そうすれば、少なくともPython問題の原因がどこにあるかを確認できます。

アンインストールを実行するには、2つのフォルダーを削除し、シェルをリロードする必要があります。また、このPythonバージョンを指しているシンボリックリンクを削除する必要があるかもしれません。これは次のようにして見つけることができます。

ls -l /usr/local/bin | grep 'Python.framework/Versions/3.6' 

次に、brew reinstall pythonを実行します。

新しいPython 3.7バージョン(Homebrewを使用))は/usr/local/bin/python3に存在するため、$PATHにこのディレクトリが含まれていること、およびHomebrewのPythonが必要な場合はpython3を呼び出すことを確認してください。

3.7バージョンではpythonを使用することもできます。この場合、brew info pythonの「バージョン管理されていないシンボリックリンク」に関する注意をお読みください。

1
slhck