CryptoUnavailableError:使用可能な暗号ライブラリがなく、oauth2clientからのインポート暗号の失敗。
リンクに上記のエラーが記載されています。 pyOpenSSLと暗号化を再インストールすることでそれを修正することができました。しかし、現在、次のエラーが発生しています。
ImportError: No module named cryptography.hazmat.bindings._openssl
ここで、_opensslはunix実行可能ファイル(_openssl.so)です。以下はインポートステートメントです
from cryptography.hazmat.bindings._openssl import ffi, lib
上記のコードは、暗号化モジュールのbindings.pyにあります。これらはすべて、oauth2clientを使用したgspread認証にリンクされています。私を助けてください。私はこれに苦労しています。
更新:この問題は、いくつかの依存関係の失敗が原因で発生しました。しかし、依存関係が失敗している場所を見つけることができませんでした。すべてのライブラリを上から再インストールしました。そのような問題は修正されました。
この答えはつまらないように見えるかもしれませんが、これは私にとってうまくいったことです。私は実際にOSを再インストールしました。そうすれば、以前にインストールした他のすべてのライブラリが削除されました。それらのライブラリの1つは、暗号化ファイルとopensslに干渉する原因である可能性があります。上記のエラーの原因となっているモジュール/ライブラリを追跡できませんでした。 OSが再インストールされたら、このエラーが発生する前に実行した可能性のあるリンクを使用して、cyptography、opensslをインストールしました。
私のやり方を実行する前に、six.pyのバージョン1.9.0が/Library/Python/2.7/site-packagesと/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/libの両方にあることを確認してください/ python
私の道を通り抜けても、上記もやってください。
私はとても必死だったので、OSを再インストールしました。この決定に至ったのは、本番環境にある同じコードが開発では機能しないのに機能するためです。私はそのいくつかの依存関係エラーを理解しました。
私はついにこれを手に入れました。それは私のために働いた:
pip uninstall pyopenssl
pip uninstall cryptography
pip install pyopenssl
pip install cryptography
Venvを介してインストールすると、修正されました。
/opt/eff.org/certbot/venv/local/bin/pip install cryptography interface
プロジェクトのルートパスに手動で暗号化ソースを追加する必要があります。
Scrapy for Anaconda3をインストールしたいときに、同じ問題が発生しました。
実際にツイストをインストールすると、これが壊れたと思います。このメッセージが原因で、pip/condaを使用しようとして失敗しました。
上記のzhangzhy2000の提案 https://stackoverflow.com/a/54389947/1137529 を見ましたが、失敗しました何かをインストールします。
実際に何が起こっているのか、SSLを処理するためのPythonモジュールがあったが、それは削除された。今(アップグレード後) Scrapy/Twistedの一部の依存関係)AnacondaはSSLを処理するためにOSに依存しています。
私がやったWindows10 64ビットの場合:
Sasl-0.2.1-cp37-cp37m-win_AMD64.whlをインストールしました( https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame から)。これは実際には私を助けませんでした。
Win64OpenSSL-1_1_1b.exeをインストールしました-SSLを開きます( https://slproweb.com/products/Win32OpenSSL.html から)
走る pip3 install pyopenssl==19.0.0
私のためにpyopensslと暗号化をインストールします。
(そして、ここでは関係のないねじれたスクレイプをインストールします)。
繰り返しになりますが、SSLのサポートはPythonから削除され、現在はOSに依存しているため、SSL用のOS固有のパッケージをインストールする必要があります。
この問題は、いくつかの依存関係の失敗が原因で発生しました。しかし、依存関係が失敗している場所を見つけることができませんでした。すべてのライブラリを上から再インストールしました。そのような問題は修正されました。
/opt/eff.org/certbot/venv/local/lib64/python2.7に移動し、同じフォルダー内にdist-packagesからsite-packagesへのリンクを作成するだけです。 site-packagesがすでにここにある場合は、名前を変更する必要があります。お気に入り
この問題が発生しました。最初に OpenSSL をインストールし、次にインクルードのOpenSSLを配置します。Python2.7用のMicrosoftVisual C++コンパイラ内のコンパイラにコピーされたフォルダの内容\ vc\include、libの内容をlib内のPythonインストールディレクトリにコピーします。opensll環境変数をgitに調整します。opensslのcmdを実行する場合は、OpenSSLインストールディレクトリに配置する必要があります。アンインストール暗号化をやり直して、再度インストールして、問題は解決しました!!
別の回避策:
apk add --no-cache py-cryptography
おかげで https://github.com/pyca/cryptography/issues/4264#issuecomment-392849235
ファイル暗号化-2.0.3-cp36-cp36m-win_AMD64.whlをダウンロードします
実行します:
pip install C:/User/Download/cryptography-2.0.3-cp36-cp36m-win_AMD64.whl
それからそれは解決しました。