20

CryptoUnavailableError: 利用可能な暗号ライブラリがなく、oauth2client からの暗号インポートの失敗。

リンクに記載されている上記のエラーがありました。pyOpenSSL と暗号化を再インストールすることで修正できました。しかし、現在、次のエラーが発生しています。

ImportError: No module named cryptography.hazmat.bindings._openssl

ここで、_openssl は UNIX 実行可能ファイル (_openssl.so) です。以下はインポートステートメントです

from cryptography.hazmat.bindings._openssl import ffi, lib

上記のコードは、cryptography モジュールの bindings.py にあります。これらはすべて、oauth2client を使用した gspread 認証にリンクされています。私を助けてください。私はこれに苦労しています。

更新: この問題は、依存関係の障害が原因で発生しました。ただし、依存関係が失敗している場所を見つけることができませんでした..すべてのライブラリを上から再インストールしました。そのような問題は修正されました。

4

12 に答える 12

1

Anaconda3 に Scrapy をインストールしようとしたときに、同じ問題に遭遇しました。

実際に Twisted をインストールすると、これが壊れたと思います。このメッセージが原因で、pip/conda を使用しようとしても失敗しました。

上記のzhangzhy2000の提案https://stackoverflow.com/a/54389947/1137529を見ましたが、何もインストールできませんでした。

実際には、SSL を処理するための Python モジュールがありましたが、削除されました。現在 (Scrapy / Twisted の依存関係をアップグレードした後)、Anaconda は OS に依存して SSL を処理します。

私がしたWindows 10 64ビットの場合:

  1. sasl-0.2.1-cp37-cp37m-win_amd64.whl ( https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygameから) をインストールしました。これは実際には私を助けませんでした。

  2. Win64OpenSSL-1_1_1b.exe - Open SSL をインストールしました ( https://slproweb.com/products/Win32OpenSSL.htmlから)

  3. pip3 install pyopenssl==19.0.0pyopenssl と暗号化のインストールを実行します。

(そして、ここでは関係のないツイストとスクレイピーをインストールします)。

繰り返しますが、 SSL のサポートは Python から削除されました。現在は OS に依存しているため、SSL 用の OS 固有のパッケージをインストールする必要があります。

于 2019-04-22T09:18:59.467 に答える
0

この問題が発生しました。まず、 OpenSSLをインストールしました。その後、インクルードの OpenSSL を配置します。フォルダの内容は、Microsoft Visual C++ Compiler for Python 2.7\vc\include 内のコンパイラにコピーされ、Lib の内容は、 libs 内の Python インストール ディレクトリ,opensll 環境変数を git に調整します.openssl の cmd を OpenSSL インストール ディレクトリに配置する必要がある場所を実行するとき.暗号化を再度アンインストールしてから再度インストールします ,私の問題は解決しました!!

于 2016-12-29T08:56:23.313 に答える
0

プロジェクトのルート パスに手動で暗号化ソースを追加する必要があります。

https://github.com/pyca/cryptography/tree/master/src

于 2015-09-11T09:00:53.280 に答える
0

この問題は、依存関係の障害が原因で発生しました。ただし、依存関係が失敗している場所を見つけることができませんでした..すべてのライブラリを上から再インストールしました。そのような問題は修正されました。

于 2015-09-22T12:21:40.770 に答える
-2

この答えは不自由に見えるかもしれませんが、これが私にとってうまくいったことです。実際にOSを再インストールしました。そうすれば、以前にインストールした他のすべてのライブラリが削除されました。これらのライブラリの 1 つが原因で、暗号化ファイルと openssl に干渉している可能性があります。上記のエラーの原因となっているモジュール/ライブラリを追跡できませんでした。OSを再インストールしたら、このエラーが発生する前におそらく行っていたはずのリンクを使用して、暗号化、opensslをインストールしました。

先に進む前に、six.py の /Library/Python/2.7/site-packages と /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib の両方にバージョン 1.9.0 があることを確認してください。 /python

私のやり方を通り抜けても、上記も実行してください。

私はあまりにも絶望的だったので、OSを再インストールしました。この決定に至ったのは、本番環境にある同じコードが開発環境では機能しないためです。いくつかの依存関係エラーを理解しました。

于 2015-09-23T07:07:11.600 に答える