Domanda

RDFLib necessita di estensioni C da compilare per l'installazione su ActiveState Python 2.5; per quanto ne so, sul Web non esiste alcun programma di installazione binario ovvio. Nel tentativo di installare con python setup.py install , viene visualizzato il seguente messaggio:

errore: Python è stato creato con Visual Studio 2003;
Le estensioni devono essere compilate con un compilatore in grado di generare binari compatibili.
Visual Studio 2003 non è stato trovato su questo sistema. Se hai installato Cygwin,
puoi provare a compilare con MingW32, passando " -c mingw32 " su setup.py.

Ci sono vari risorse sul web sulla configurazione di un compilatore per distutils che discutono usando MinGW, anche se non ho ancora funzionato . In alternativa ho VS2005.

Qualcuno può dirmi categoricamente se è possibile utilizzare il compilatore C in VS2005 per creare moduli di estensione Python per un Python compilato VS2003 (in questo caso ActiveState Python 2.5). Se ciò è possibile, quale configurazione è necessaria?

È stato utile?

Soluzione

Non posso dirtelo categoricamente, ma non ci credo. Ho riscontrato questo problema solo nella situazione inversa (Python creato con VS2005, cercando di costruire con VS2003). La ricerca sul Web non ha mostrato alcun modo per hackerarlo. La mia eventuale soluzione era quella di ottenere VC Express, poiché VC2005 è quando Microsoft ha iniziato a rilasciare le edizioni gratuite. Ma questa ovviamente non è un'opzione per te.

Non utilizzo ActiveState Python, ma è possibile utilizzare una versione più recente? Il sorgente viene fornito con file di progetto per VS2008 e sono abbastanza sicuro che le build binarie di python.org abbiano smesso di usare VS2003 qualche tempo fa.

Altri suggerimenti

Il problema principale è la libreria di runtime C. Python 2.4 / 2.5 collegato a msvcr71.dll e quindi tutte le estensioni C dovrebbero essere collegate a questa dll.

Un'altra opzione è usare gcc (mingw) invece di VS2005, puoi usarlo per compilare solo estensioni python. Esiste un programma di installazione decente che ti consente di configurare gcc come compilatore predefinito per la tua versione di Python:

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

Ad oggi, marzo 2012, posso dire categoricamente che è possibile con Python2.4.4 (solo uno che ho testato) e Visual Studio 2005 e 2008. Basta installare VS10 per verificarlo. Non so perché funzioni e ho problemi con l'utilizzo di distutils, quindi devo compilare manualmente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top