Je cherche à faire fonctionner le module Pymat pour pouvoir contrôler
Matlab à partir de Python.
Je dispose de la version 6.5 de Matlab, de la version 2.2.3 de Python et
tout cela sous linux.
J'ai installé la dernière version de numarray qui est censé remplacer
Numeric et j'ai tenté de compiler pymat :
gcc -c pymat.cpp -I/usr/include/python2.2
-I/users/m024234/local/include/-I/appli/matlab/v6.5/extern/include -fPIC
Boum ! je vois dans le code qu'il fait appel à Numeric, donc je remplace
Numeric par numarray et je relance la compilation :
pymat.cpp: Dans function « mxArray* makeMxFromNumeric(const
PyArrayObject*)»:
pymat.cpp:216: valeur de « case » double
pymat.cpp:212: précédemment utilisé ici
pymat.cpp:232: valeur de « case » double
pymat.cpp:228: précédemment utilisé ici
pymat.cpp: Dans function « mxArray* numeric2mx(const PyObject*) »:
pymat.cpp:291: conversion invalide de « const PyObject* » vers «
PyObject* »
Bon effectivement il semble qu'il y ait des types qui sont identiques,
donc je mets en commentaires les doublons et je relance, cette fois ça
marche : pas de message d'erreur. Donc je lance l'édition de liens :
Mais tout se complique lorsque j'essaye de l'utiliser :
Python 2.2.3 (#1, Aug 8 2003, 08:44:02)
[GCC 3.2.3 20030502 (Red Hat Linux 3.2.3-13)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pymat.so
Traceback (most recent call last):
File "<stdin>", line 1, in ?
ImportError: dynamic module does not define init function (initpymat)
>>>
Là je sèche un peu : je ne vois pas d'où provient mon erreur (je ne suis
pas très familier avec les messages d'erreurs de Python...).
Quelqu'un aurait-il réussi à faire fonctionner Pymat ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Christophe
On Thu, 29 Jul 2004 01:31:46 +0200, Christophe wrote :
Bon effectivement il semble qu'il y ait des types qui sont identiques, donc je mets en commentaires les doublons et je relance, cette fois ça marche : pas de message d'erreur. Donc je lance l'édition de liens :
Et ensuite cela marche impeccable : je communique avec Matlab !
On Thu, 29 Jul 2004 01:31:46 +0200, Christophe <chris_invalid@yahoo.fr>
wrote :
Bon effectivement il semble qu'il y ait des types qui sont identiques,
donc je mets en commentaires les doublons et je relance, cette fois ça
marche : pas de message d'erreur. Donc je lance l'édition de liens :
On Thu, 29 Jul 2004 01:31:46 +0200, Christophe wrote :
Bon effectivement il semble qu'il y ait des types qui sont identiques, donc je mets en commentaires les doublons et je relance, cette fois ça marche : pas de message d'erreur. Donc je lance l'édition de liens :
Et ensuite cela marche impeccable : je communique avec Matlab !
Christophe Cavalaria
Christophe wrote:
On Thu, 29 Jul 2004 01:31:46 +0200, Christophe
Bon effectivement il semble qu'il y ait des types qui sont identiques, donc je mets en commentaires les doublons et je relance, cette fois ça marche : pas de message d'erreur. Donc je lance l'édition de liens :
Et ensuite cela marche impeccable : je communique avec Matlab !
Pour du code c++, il vaut mieux compiler et lier avec g++ que avec gcc. Ce dernier ne met pas automatiquement un certain nombre d'options comme justement -lstdc++
Christophe wrote:
On Thu, 29 Jul 2004 01:31:46 +0200, Christophe <chris_invalid@yahoo.fr>
Bon effectivement il semble qu'il y ait des types qui sont identiques,
donc je mets en commentaires les doublons et je relance, cette fois ça
marche : pas de message d'erreur. Donc je lance l'édition de liens :
Et ensuite cela marche impeccable : je communique avec Matlab !
Pour du code c++, il vaut mieux compiler et lier avec g++ que avec gcc. Ce
dernier ne met pas automatiquement un certain nombre d'options comme
justement -lstdc++
Bon effectivement il semble qu'il y ait des types qui sont identiques, donc je mets en commentaires les doublons et je relance, cette fois ça marche : pas de message d'erreur. Donc je lance l'édition de liens :
Et ensuite cela marche impeccable : je communique avec Matlab !
Pour du code c++, il vaut mieux compiler et lier avec g++ que avec gcc. Ce dernier ne met pas automatiquement un certain nombre d'options comme justement -lstdc++