PythonインストールはSSLをサポートしていませんか? Setup.dist を編集した後、再度コンパイルする必要があります Pythonソースディレクトリにあるファイル。その方法を見てみましょう。
始める前に、以下に示すように、既存のPythonインストールがOpenSSLをサポートしているかどうかを確認してください。
$ python
Pythonプロンプトで、「importssl」と入力します
>>> import ssl
以下のようなエラーが表示された場合、PythonはSSLをサポートしていません。
$ pythonPython 2.4.3(#1、2013年1月9日、06:47:03)[GCC 4.1.2 20080704(Red Hat 4.1.2-54)] on linux2Type "help"、 "copyright"、 "credits詳細については、"または"license"を参照してください。注: 古いバージョンのPythonでは、「 hasattr」を使用してみてください。 ‘は以下のように機能します:
>>> import socket>>> hasattr(socket、 "SSL")False>>>「False 「その場合、PythonはSSLをサポートしません。
OpenSSLサポートを使用してソースからPythonをコンパイルする方法
前提条件:
OpenSSLはデフォルトでインストールされているはずですが、インストールされていない場合は、以下に示すようにインストールしてください。
OpenSSLとその開発パッケージをインストールする 以下のように:
$ yum install openssl$ yum install openssl-devel(または)
ソースからOpenSSLをインストールします:
$ wget http://www.openssl.org/source/openssl-1.0.2e.tar.gz$ ./config --prefix =/ usr / local / openssl --openssldir =/ usr / local / openssl注: デフォルトでは、opensslは/ usr / local / sslの下にインストールされます。 。既存のSSLインストールを台無しにしたくない場合は、別のディレクトリにインストールしてください。
$ make $ make test $ make installOpenSSLのインストールが完了しました。 Pythonをコンパイルしましょう。
Pythonソースのダウンロード:
$ wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz$ tar xvzf Python-3.5.1.tgz$ vim Modules / Setup.dist「SSL」を検索します 」と入力し、以下に示すようにコードのコメントを解除します(バージョン3.5では、203行目から210行目まで):
_socket socketmodule.c #SSLサポート用のソケットモジュールヘルパー。上記の他の#ソケット行をコメントアウトし、SSL変数を編集する必要があります:#SSL =/ usr / local / ssl _ssl _ssl.c \ -DUSE_SSL -I $(SSL)/ include -I $(SSL)/ include / openssl \ -L $(SSL)/ lib -lssl -lcrypto注: 非標準の場所にOpenSSLをインストールした場合は、「 SSL」を変更する必要があります ‘上記のコードで正しいパスを参照します。
例:
_socket socketmodule.c#SSLサポート用のソケットモジュールヘルパー。上記の他の#ソケット行をコメントアウトし、SSL変数を編集する必要があります: SSL =/ usr / local / openssl _ssl _ssl.c \ -DUSE_SSL -I $(SSL)/ include -I $(SSL)/ include / openssl \ -L $(SSL)/ lib -lssl -lcrypto完了したら
$ ./configure$ make $ make installPythonでOpenSSLサポートを確認する
$ / usr / local / bin / python3.5Pythonプロンプトで、「 import ssl 」と入力します 」
>>> import sslエラーが表示されない場合、PythonはSSLをサポートしています。以上です!
Linux