51 votes

ImportError : aucun module nommé _ssl

Ubuntu Maverick avec Python 2.7 :

Je ne sais pas quoi faire pour résoudre l'erreur d'importation suivante :

 >>> import ssl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/ssl.py", line 60, in <module>
   import _ssl             # if we can't import it, let the error propagate
ImportError: No module named _ssl

METTRE À JOUR: J'ai recompilé la source. Je n'ai pas pu comprendre comment ajouter l'option --with-ssl mentionnée dans les réponses ci-dessous, mais j'ai fait fonctionner cela en modifiant les lignes concernant SSL dans /Modules/Setup.dist.

64voto

slumtrimpet Points 1746

Sans rapport avec la question d'origine, mais parce que c'est le premier résultat de Google... J'ai tapé ceci sur Google AppEngine et j'ai dû ajouter :

 libraries:
- name: ssl
  version: latest

à app.yaml par : https://cloud.google.com/appengine/docs/python/sockets/ssl_support

Veuillez noter : cela semble fonctionner jusqu'à la version Python 2.7.9 mais pas pour 2.7.10 ou 2.7.11.

29voto

utku.zih Points 2121

Avez-vous construit le Python à partir des sources ? Si c'est le cas, vous avez besoin de l' --with-ssl lors de la construction.

14voto

Emmanuel Points 4510

Si vous avez construit Python à partir des sources, ce n'est qu'une question de dépendances : puisque vous manquez la bibliothèque OpenSSL installée, python échoue silencieusement à installer le module _ssl. Vous pouvez le voir dans le rapport final de la commande make :

 Python build finished, but the necessary bits to build these modules were not found:
_bsddb             _sqlite3           _ssl
_tkinter           bsddb185           dbm
dl                 gdbm               imageop
sunaudiodev
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

L'installation de la bibliothèque OpenSSL dans l'un des chemins de bibliothèque standard ( /usr/lib , /usr/local/lib ...) devrait faire l'affaire. En tout cas c'est comme ça que j'ai fait :-)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X