O Python 3.5 é construído sem suporte a SSL no Ubuntu 16.04?

1

A minha pergunta é simples: o python 3.5.1-3 foi construído sem suporte a SSL no Ubuntu 16.04?

root@intranet:/opt/letsencrypt# /usr/bin/python3
Python 3.5.2 (default, Jul  5 2016, 12:43:10)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import HTTPSHandler
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'HTTPSHandler'
>>>

Outras informações:

root@intranet:/opt/letsencrypt# dpkg-query -l 'python3*' | grep ssl
ii  python3-openssl               0.15.1-2build1          all          Python 3 wrapper around the OpenSSL library

root@intranet:/opt/letsencrypt# dpkg-query -l 'libssl*' | grep dev
ii  libssl-dev:amd64  1.0.2g-1ubuntu4.2 amd64        Secure Sockets Layer toolkit - development files
ii  libssl-doc        1.0.2g-1ubuntu4.2 all          Secure Sockets Layer toolkit - development documentation
    
por Xarkam 03.09.2016 / 01:06

1 resposta

3

O Python3 nos repositórios é compilado com suporte a SSL . O erro que você recebe é porque HTTPSHandler é um módulo Python de terceiros e não faz parte da biblioteca padrão do Python.

Você precisará instalar esse módulo com python3 pip install provavelmente para que seja reconhecido pelo seu interpretador Python3.

Você pode verificar o suporte a HTTPS / SSL no Python3 com o seguinte:

from urllib.request import urlopen
urlopen('https://askubuntu.com').read()

Ele vai cuspir um monte de HTML, mas o fato de ele retornar uma tonelada de HTML indica que ele tem suporte SSL.

(graças a resposta de Oli a uma questão similar, mas diferente para o trecho de código.)

    
por Thomas Ward 03.09.2016 / 02:48