2009-03-03 6 views
3

RDFLib a besoin d'extensions C à compiler à installer sur ActiveState Python 2.5; pour autant que je sache, il n'y a pas d'installateur binaire évident sur le web. En essayant d'installer avec python setup.py install, il produit le message suivant:Puis-je utiliser VS2005 pour construire des extensions pour un système Python construit avec VS2003

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.

Il y a variousresources sur le Web sur la configuration d'un compilateur pour distutils qui traite de l'utilisation MinGW, bien que Je n'ai pas encore ça pour fonctionner. Comme alternative, j'ai VS2005. Quelqu'un peut-il me dire catégoriquement si vous pouvez utiliser le compilateur C dans VS2005 pour construire des modules d'extension Python pour un compilateur VS2003 compilé (dans ce cas, ActiveState Python 2.5). Si c'est possible, quelle configuration est nécessaire?

Répondre

2

Je ne peux pas vous dire catégoriquement, mais je ne crois pas que vous le pouvez. J'ai seulement couru dans ce problème dans la situation inverse (Python construit avec VS2005, essayant de construire avec VS2003). La recherche sur le Web n'a pas abouti à un piratage. Ma solution éventuelle était d'obtenir VC Express, puisque VC2005 est quand Microsoft a commencé à publier les éditions gratuites. Mais ce n'est évidemment pas une option pour vous.

Je n'utilise pas ActiveState Python, mais existe-t-il une version plus récente que vous pouvez utiliser? La source est livrée avec les fichiers de projet pour VS2008, et je suis à peu près sûr que les versions binaires de python.org ont cessé d'utiliser VS2003 il y a un certain temps.

3

Le principal problème est la bibliothèque d'exécution C. Python 2.4/2.5 lié à msvcr71.dll et donc toutes les extensions C doivent être liées à cette DLL.

Une autre option consiste à utiliser gcc (mingw) au lieu de VS2005, vous pouvez l'utiliser uniquement pour compiler des extensions python. Il y a installateur décent qui vous permet de configurer gcc comme compilateur par défaut pour votre version Python:

http://www.develer.com/oss/GccWinBinaries

0

A ce jour mars 2012, je peux dire catégoriquement qu'il est possible avec Python2.4.4 (seul que j'ai testé) et Visual Studio 2005 et 2008. Il suffit d'installer VS10 pour vérifier cela. Je ne sais pas pourquoi cela fonctionne et j'ai des problèmes avec distutils donc je dois compiler manuellement.

Questions connexes