Ubuntu 14.04(Trusty Tahr)をPythonバージョン2.7.6で使用しています。今日、新しいvirtualenv
を作成してpip install requests
、エラーInsecurePlatformWarning
を受け取りました。
Requestsパッケージ使用時のSSL InsecurePlatformエラーの指示に従ってこの問題を解決しました。
しかし、これら2つのコマンドの実際の違いは何かを理解したいと思います:pip install requests[security]
およびpip install requests
。
前者が3つの追加パッケージをインストールするのはなぜですか?
コードを実稼働環境にプッシュするときに注意する必要があることはありますか?
彼らは両方とも一般的に同じように振る舞いますか?
前者が3つの追加パッケージをインストールするのはなぜですか?
requests
の代わりにrequests[security]
を使用すると、 つの追加パッケージ がインストールされます。
これらはextras_requires
で 追加の依存関係を持つオプション機能 として定義されます。
コードを実稼働環境にプッシュするときに注意する必要があることはありますか?
これらの追加パッケージを問題なくインストールでき、SSL接続の動作を変更しても使用に影響しないことを確認する必要があります。
彼らは両方とも一般的に同じように振る舞いますか?
デフォルトの標準ライブラリオプションとは対照的にこれらのパッケージを使用すると、より安全なSSL接続が可能になります。
詳細については、 ここでそれがマージされたプルリクエストです および ここでそれが議論された問題です です。
(コメントから、GitHubがなくなるときのために):
そのため、pyOpenSSL、ndg-httspclient、およびpyasn1を使用するときのSSL接続は、stdlibオプションを使用する場合よりも安全です。ただし、これら3つのことを実際に覚えるのは困難です。リクエストがsetup.pyに余分なものを追加して、人々がより良いsslでリクエストをインストールできるようにすればクールです(Donald Stufft)
また、デフォルトでは、古いOpenSSLのために、リクエストはOS Xの一部のサイトに接続できません。上記の3つのパッケージを使用すると可能になります。 (ドナルド・スタッフ)