2010-10-26 5 views
0

J'ai une application C/C++ dans laquelle je définis un module Python. Je mis en place Python comme ceci:Incompatibilité de version Python, mais il y a juste une application

PyImport_AppendInittab("myModule", initmymodule); 
Py_Initialize(); 

PyObject *module = PyImport_ImportModule("myModule"); 

Sur l'appel ImportModule, je reçois cet avertissement:

sys: 1: RuntimeWarning: incompatibilité de version de l'API Python C pour le module monModule: Cette Python a la version API 1012, le module monModule a la version 1013.

Je construis cette application dans Xcode, reliant contre le cadre Python/System/Library/Frameworks (qui contient les versions 2.3, 2.5 et 2.6). J'inclus toujours les en-têtes Python avec #include <Python/Python.h>. Comment mon module peut-il avoir une version différente s'il fait partie du même binaire que l'initialisation?

Répondre

0

Y a-t-il d'autres Pythons installés dans /Library/Frameworks/, comme ceux d'un programme d'installation de python.org?

+0

Oui, il y en a une qui est la version 2.4. Apparemment, Xcode est confus quant à celui qu'il utilise. Donc, la question est de savoir comment redresser cela. – Uncommon

+0

Je suis allé de l'avant et supprimé le cadre 2.4. Ce n'est pas vraiment nécessaire pour autant que je sache. – Uncommon

+0

Seulement si vous voulez utiliser Python 2.4. Tout framework Python dans '/ Library/Frameworks' est un jeu équitable à supprimer mais vous ne devriez pas, bien sûr, supprimer des choses dans'/System/Library/Frameworks'. –

Questions connexes