私のプロジェクトの1つがどこでも、すべての実行の先頭で、少なくとも1回これを印刷し始めるまで、物事は順調に実行されていました。
_local/lib/python2.7/site-packages/cryptography/hazmat/primitives/constant_time.py:26: CryptographyDeprecationWarning: Support for your Python version is deprecated. The next version of cryptography will remove support. Please upgrade to a 2.7.x release that supports hmac.compare_digest as soon as possible.
_
なぜそれが始まったのか、それがアプリケーション/ツールの出力を混乱させているのか、特に他のツールがそれをキャプチャして消費しているときはわかりません。これまでの多くの困難と同様に、それはurllib
に関連していること、そして関連によりrequests
に関連していることはかなり確信しています。さらに悪いことに、非常に多くのプロジェクトと相互依存関係があるため、warnings.filterwarnings()
への呼び出しですべてのインポートとブランチを更新して警告を抑制することはできません。
Python 2.7.6。どうやらこれは2.7.7で消えます。ただ、私はしない警告を見る2.7.6のシステムをいくつか持っています。 。したがって、あるバージョンで何かが無効になっている場合と無効になっていない場合があり、誤って別のバージョンに置き換えた可能性があります。
私のUbuntu、Python、urllib、リクエスト(セキュリティオプション付き)、暗号化、およびhmacはすべて、警告を出力するシステムと表示しないシステムの同一バージョン/ビルドです。
関連する警告やアナウンスはオンラインではないようで、関連するプロジェクトはこの時点で静的/安定しているようです(「hmac」はPIPを介してインストールできますが、8年で変更されていません)。
私はかなり長い間このエラーを見つけました。私の環境では、Pythonを2.7.6よりも高いバージョンにアップグレードするのは苦痛でした。pipを使用して暗号化モジュールをダウングレードするのがより簡単な解決策でした。
pip2.7 install cryptography==2.2.2
最善の解決策は、pythonバージョン
この答えはPython3用です
Paramikoを使用中に答えを探してここに来ました。まだ簡単な答えを探している人のために。 Paramikoをインポートする前に、次のコード行でこれらのCryptographyDeprecationWarningを抑制しました。
import warnings
warnings.filterwarnings(action='ignore',module='.*paramiko.*')
これが役立つことを願っています
簡単なrequests.get
呼び出しに対してこの警告を受け取り始めました。この警告は、モジュールcryptography.hazmat.primitives.constant_time
がロードされたときに出力されるため、通常はPythonプログラムごとに1回だけ表示されます。何度も表示される場合は、[ユーティリティ]などのPythonプログラムが複数回実行されているためである必要があります。そのプログラムを特定し、以下のコードをメインエントリポイントに追加するだけです。
import cryptography
from cryptography import utils
with warnings.catch_warnings():
warnings.simplefilter('ignore', cryptography.utils.DeprecatedIn23)
import cryptography.hazmat.primitives.constant_time
Python3のみ:
明らかに Paramikoの更新 これは私のために働いて、私が経験していた同様の問題/症状を解決します:
pip3 install --upgrade paramiko
これにより、私のシステムにparamiko 2.6.0がインストールされ、2.4.2が置き換えられました。
$ pip3 install --upgrade paramiko
[...]
Installing collected packages: paramiko
Found existing installation: paramiko 2.4.2
Uninstalling paramiko-2.4.2:
Successfully uninstalled paramiko-2.4.2
Successfully installed paramiko-2.6.0
$
私のPython2環境は台無しになっているようです ですので、Python2でこれをテストすることはできません。
Pip2.7 install cryptography == 2.2.2をインストールすると、エラーが引き続き発生する可能性があります。あなたも必要だと思うSudo pip2.7 install --upgrade pip
麻生、19/5/5現在、最新の暗号化方式は2.6.1のようです。