Instalasi Python Anda tidak mendukung SSL? Anda perlu mengompilasinya lagi setelah mengedit Setup.dist file yang terletak di direktori sumber Python. Mari kita lihat bagaimana melakukannya.
Sebelum kita mulai, periksa apakah instalasi Python Anda mendukung OpenSSL seperti yang ditunjukkan di bawah ini:
$ python
Di prompt python, ketik 'import ssl'
>>> import ssl
Jika Anda melihat kesalahan seperti di bawah ini, maka Python tidak mendukung SSL.
$ python Python 2.4.3 (#1, Jan 9 2013, 06:47:03) [GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import ssl Traceback (most recent call last): File "<stdin>", line 1, in ? ImportError: No module named ssl >>>
Catatan: Dalam versi Python yang lebih lama, Anda dapat mencoba menggunakan ‘hasattr ' fungsi seperti yang ditunjukkan di bawah ini:
>>> import socket >>> hasattr(socket,"SSL") False >>>
Jika Anda melihat “Salah “, maka Python tidak mendukung SSL.
Cara Mengkompilasi Python dari sumber dengan Dukungan OpenSSL
Prasyaratan:
OpenSSL seharusnya sudah terinstal secara default, tetapi jika Anda tidak memilikinya, instal seperti yang ditunjukkan di bawah ini.
Instal OpenSSL dan paket pengembangannya seperti di bawah ini:
$ yum install openssl
$ yum install openssl-devel
(atau)
Instal OpenSSL dari sumber:
$ wget http://www.openssl.org/source/openssl-1.0.2e.tar.gz
$ ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
Catatan: Secara default openssl akan diinstal di bawah /usr/local/ssl . Jika Anda tidak ingin mengacaukan instalasi SSL yang ada, maka instal di direktori lain.
$ make $ make test $ make install
Instalasi OpenSSL selesai. Sekarang mari kita kompilasi Python.
Unduh sumber 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
Telusuri “SSL ” dan batalkan komentar kode seperti yang ditunjukkan di bawah ini (dalam versi 3.5, dari baris 203 hingga 210):
_socket socketmodule.c # Socket module helper for SSL support; you must comment out the other # socket line above, and possibly edit the SSL variable: #SSL=/usr/local/ssl _ssl _ssl.c \ -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ -L$(SSL)/lib -lssl -lcrypto
Catatan: Jika Anda telah menginstal OpenSSL di lokasi yang tidak standar, maka Anda perlu mengubah 'SSL ' untuk merujuk jalur yang benar dalam kode di atas.
Misalnya,
_socket socketmodule.c # Socket module helper for SSL support; you must comment out the other # socket line above, and possibly edit the SSL variable: SSL=/usr/local/openssl _ssl _ssl.c \ -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ -L$(SSL)/lib -lssl -lcrypto
Setelah selesai,
$ ./configure $ make $ make install
Periksa Python untuk Dukungan OpenSSL
$/usr/local/bin/python3.5
Di python prompt, ketik “import ssl ”
>>> import ssl
Jika Anda tidak melihat kesalahan apa pun, maka Python mendukung SSL. Itu dia!