2008-09-19 7 views
11

J'ai un module d'extension C et il serait bon de distribuer des binaires construits. Setuptools facilite la construction de modules d'extension sur OS X et GNU/Linux, car ces systèmes d'exploitation sont fournis avec GCC, mais je ne sais pas comment le faire sous Windows.Construction de modules d'extension Python C pour Windows

Aurais-je besoin d'acheter une copie de Visual Studio, ou est-ce que Visual Studio Express fonctionne? Puis-je utiliser Cygwin ou MinGW?

Répondre

15
+0

Merci. Votre guide pour compiler des extensions avec MINGW a parfaitement fonctionné. –

+0

Hey je voulais juste vous le faire savoir, j'ai suivi votre guide sous # 1 (en utilisant les fichiers setup.py et hellomodule.c fournis dans la note de bas de page 1 de l'article) et tout a fonctionné comme un charme. J'utilise Windows XP 32 bits, Python 2.6 et MinGW 4.5.0. Je n'ai pas eu à jouer avec ce truc .a/.dll. Merci! – oob

+0

Il y a aussi [cette référence] (http://blog.victorjabur.com/2011/06/05/compiling-python-2-7-modules-on-windows-32-and-64-using-msvc-2008- Express/). –

2

setuptools et distutils ne viennent pas avec gcc, mais ils utilisent le même Python du compilateur a été construit avec . La différence est principalement que sur le système UNIX typique, le compilateur est 'gcc' et vous l'avez installé. Pour compiler les modules d'extension sous Windows, vous avez besoin d'un compilateur pour Windows. MSVS le fera, même la version Express je crois, mais il faut que ce soit la même version de MSVC++ que Python a été construit avec. Ou vous pouvez utiliser Cygwin ou MinGW; Voir la section appropriée de Installing Python Modules.

+1

Je suis trébuché par le fait que vous ne pouvez pas utiliser VS 2005 ou plus récent, mais vous pouvez utiliser MinGW (un compilateur complètement différent!) ... –

+0

Ceci est juste une recommandation. Je crée continuellement des PYD pour toutes les versions 2.7 à 3.6 de Python avec le même compilateur VS 2013 et je n'ai jamais vu de problème. –

Questions connexes