2010-06-20 1 views
4

Quand je déploie mon projet de Google App Engine, je reçois l'avertissement suivant:Comment installer le module SSL Python sur OSX?

WARNING appengine_rpc.py:399 ssl module not found. 
Without the ssl module, the identity of the remote host cannot be verified, and 
connections may NOT be secure. To fix this, please install the ssl module from 
http://pypi.python.org/pypi/ssl. 

J'ai téléchargé le paquet, mais lorsque je tente

python setup.py build 

je reçois la sortie d'erreur suivant:

looking for /usr/include/openssl/ssl.h 
looking for /usr/local/ssl/include/openssl/ssl.h 
looking for /usr/contrib/ssl/include/openssl/ssl.h 
Traceback (most recent call last): 
    File "setup.py", line 167, in <module> 
    ssl_incs, ssl_libs, libs = find_ssl() 
    File "setup.py", line 142, in find_ssl 
    raise Exception("No SSL support found") 
Exception: No SSL support found 

Que dois-je faire pour l'installer, est-ce un problème de chemin ou quelque chose?

+0

vous utilisez macports? – systempuntoout

+0

Non, je n'utilise pas macports. – Curyous

+0

Comme l'indique l'avertissement, vous n'avez _pas_ besoin d'installer le module SSL. Avez-vous des raisons de suspecter que quelqu'un souhaite MIMER vos connexions au serveur App Engine? –

Répondre

5

Fixé en installant pycrypto en premier, en suivant les instructions de here et en utilisant le aperçu de une réponse à this question.

La ligne de commande complète j'ai utilisé pour la construction éventuelle était:

CC='/usr/bin/gcc-4.0' python2.5 setup.py build 
+0

Merci. Votre ligne de commande m'a juste aidé à compiler ssl pour python en utilisant les instructions de google. J'ai également dû réinstaller XCode, j'ai réussi à abandonner SDK pour OS 10.4 car je ne savais pas que j'aurais besoin de nouveau. Voici à espérer. – TheJacobTaylor

2

Le python stock Apple sur les deux 10.5 et 10.6 comprend le module ssl (pas clair sur les versions antérieures):

Python 2.6.5 (r265:79359, Mar 24 2010, 01:32:55) 
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import ssl 
>>> ssl.__file__ 
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/ssl.pyc' 

(de 10.5.8)

Vous pouvez effectivement obtenir ce message d'erreur appengine_rpc .py même si vous avez ssl - vous devez vous assurer que votre téléchargement GAE a:

/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/cacerts/cacerts.txt 

Si vous avez ces deux choses, essayez de faire:

import google.appengine.tools.https_wrapper 

qui devrait fonctionner avec le python stock Apple, mais si elle ne les messages d'erreur peuvent être plus informatifs. Si vous avez installé plusieurs pythons, GAE, assurez-vous d'utiliser la préférence Python Path dans GAE pour pointer vers Apple Python.

+0

Le GAE utilise python 2.5, pas le python 2.6 installé sur le système par défaut. – Curyous

0

Vous devrez peut-être installer manuellement openssl, bien que les en-têtes doivent être placés dans/usr/include par l'installation par défaut de Xcode. (Si vous n'avez pas installé Xcode, il est peu probable que vous ayez gcc sur votre machine, et la construction échouera plus tard dans le processus.)