Comment installer le module Python ssl sur Windows?

le lanceur de moteur de Google App me dit:

WARNING appengine_rpc.PY: 399 module ssl introuvable. Sans le ssl module, l'identité de l'hôte distant ne peut pas être vérifiée, et les connexions peuvent ne pas être sécurisées. Pour corriger cela, veuillez installer le module ssl à partir de http://pypi.python.org/pypi/ssl .

j'ai téléchargé le paquet et il contenait un fichier setup.py . J'ai couru:

python setup.py install

et ensuite:

Python was built with Visual Studio 2003; blablabla use MinGW32

puis J'ai installé MinGW32 et maintenant la compilation ne fonctionne pas. La fin des erreurs de compilation contient:

ssl / _ssl2.c: 1561: erreur: 'CRYPTO_LOCK' non déclaré (première utilisation dans cette fonction)

erreur: la commande 'gcc' a échoué avec l'état de sortie 1

Que dois-je faire?

19
demandé sur Jader Dias 2010-02-14 19:48:50

5 réponses

gros openssl et libgw32c forfaits à partir de la gnuwin32 projet (télécharger le "fichiers de développement"!) et les extraire là où vous avez installé gnuwin32 - ou si vous n'avez pas encore d'outils gnuwin32, vous pouvez les extraire n'importe où (par exemple "C:\Program Files\gnuwin32"). Entrez le répertoire gnuwin32 dans le "setup.py" fichier (remplacer "C:\Utils\GnuWin32" à la ligne 154).

alors vous pouvez construire le module ssl sans problème. Je l'ai testé moi-même, en utilisant GCC "4.3.2-tdm-2 mingw32" et avec la ligne de commande setup.py build -cmingw32 ( -cmingw32 forces MinGW comme J'ai aussi le compilateur de Microsoft installé). Exécutez setup.py install après la construction réussie pour installer ssl .

15
répondu AndiDog 2010-02-14 19:01:40

j'ai dû utiliser la modification suivante de l'approche D'AndiDog:

setup.py build -cmingw32
setup.py install --skip-build

sans l'option -- skip-build, l'installation essaierait de construire à nouveau et de se plaindre de MSVC à nouveau:

error: Python was built with Visual Studio 2003;
extensions must be built with a compiler than can generate compatible binaries.
Visual Studio 2003 was not found on this system. If you have Cygwin installed,
you can try compiling with MingW32, by passing "-c mingw32" to setup.py.

de plus, au début, en utilisant la commande build, j'ai eu beaucoup d'erreurs comme celle-ci:

build\temp.win32-2.5\Release\ssl\_ssl2.o:_ssl2.c:(.text+0x1d): undefined reference to `_imp__PyImport_ImportModule'
build\temp.win32-2.5\Release\ssl\_ssl2.o:_ssl2.c:(.text+0x34): undefined reference to `_imp__PyObject_GetAttrString'
build\temp.win32-2.5\Release\ssl\_ssl2.o:_ssl2.c:(.text+0x53): undefined reference to `_imp__PyCObject_AsVoidPtr'

c'est parce que j'avais installé à l'origine la version 64bit de python 2.5.4 (python-2.5.4.amd64.msi). Je l'ai enlevé cela et installé la version 32bit (python-2.5.4.msi). Cela inclut la libpython25.un fichier que la commande build cherchait.

9
répondu Saxon Druce 2010-05-22 16:06:08

j'ai utilisé les réponses D'AndiDog et de Saxon Druce qui sont correctes à 100% mais pourraient avoir besoin d'une certaine clarification pour les utilisateurs inexpérimentés comme moi:

  1. Ceci est réservé aux utilisateurs de Windows.

  2. installer python 2.5.2 32 bits - c'était essentiel pour moi car j'ai le système x64 et j'ai d'abord installé Python 2.5.2 x64 et la solution proposée ne fonctionnait pas du tout pour moi, donc 32 bits c'est le cas.

  3. Install GCC - http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/Previous/1.1006.0/tdm-gcc-4.5.2.exe/download , j'ai utilisé la dernière version, n'oubliez pas de sélectionner l'option Ajouter à la variable PATH lors de l'installation, ou vous devrez ajouter le chemin vers le dossier de la corbeille GCC à votre variable d'environnement" path " vous-même.

  4. Blockquote openssl et les paquets libgw32c du projet gnuwin32 (téléchargez les "Developer files"!) et les extraire là où vous avez installé gnuwin32 - ou si vous n'avez pas encore d'outils gnuwin32, vous pouvez les extraire n'importe où (par exemple "C:\Program Files\gnuwin32"). Entrez le répertoire gnuwin32 dans le "setup.py" du fichier de bibliothèque ssl (remplacer "C:\Utils\GnuWin32" à la ligne 154).

  5. run python setup.py build -cmingw32 où la bibliothèque ssl a été extraite) - cela compilera la bibliothèque ssl

  6. exécuter python setup.py install --skip-build pour l'installer

ça devrait le faire.

je suis en fait surpris qu'ils n'aient pas réussi à ajouter la bibliothèque ssl à l'app engine sdk ou Python installer toutes ces années, peut-être que les gens ne l'utilisent pas.

1
répondu BanditoBunny 2011-12-16 19:12:50

depuis la sortie de TDM-GCC 4.6.1 en septembre 2011. L'installateur TDM-GCC va télécharger la dernière version de GCC (4.6.1) même si le tdm-gcc-4.5.2.exe est utilisé. GCC 4.6.1 provoquera une erreur de construction de GCC " error: unrecognized command line option '- MNO-cygwin'" c'est parce que-mno-cygwin devient obsolète dans GCC 4.6.1. Pour compiler le paquet ssl contre python 2.5, nous devons utiliser la version 4.5.2 de GCC.

après l'installation de TDM-GCC, vous devez faire un pas supplémentaire de l'instruction de @BanditoBunny.

3.1 télécharger gcc-4.5.2-tdm-1-core.zip De http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%204.5%20series/4.5.2-tdm-1%20SJLJ/gcc-4.5.2-tdm-1-core.zip/download . Décompresse le fichier dans le dossier MinGW32.

3.2 aller dans le dossier SSL puis y ouvrir une invite de commande. Vérifiez la version GCC (en utilisant gcc --version) pour vous assurer qu'elle utilise la version 4.5.2. Continuez ensuite avec l'étape 4.

1
répondu DeenSeth 2011-12-16 19:16:37

j'ai compilé toutes les instructions à un endroit pour rendre la vie des gens facile. http://waqasshabbir.tumblr.com/post/18010535789/ssl-module-for-python-2-5-installation-windows-only

1
répondu 2012-02-21 15:26:15