[pyar] Correr un script de python dentro de un programa en C

Enrique Gabriel Baquela egbaquela en gmail.com
Mie Feb 5 19:49:00 ART 2014


En boost hay una biblioteca para embeber python en c++: www.boost.org ,
fijate si te sirve.
Saludos.
El 05/02/2014 09:35, "Emanuel Benatti" <emanuel.benatti en gmail.com> escribió:

Hola a todos,

estoy tratando de correr un script hecho en python dentro del código de un
programa hecho en C. Me pareció que lo mas sencillo era utilizar la función
system de C, asi que después de un par de intentos di con lo que parecía
ser la fórmula correcta. Sin embargo, cuando quiero correr un script que
requiere importar numpy obtengo el siguiente mensaje de error:

Traceback (most recent call last):
  File "pyemb.py", line 1, in <module>
    import numpy
  File "/usr/lib/python2.7/site-packages/numpy/__init__.py", line 137, in
<module>
    import add_newdocs
  File "/usr/lib/python2.7/site-packages/numpy/add_newdocs.py", line 9, in
<module>
    from numpy.lib import add_newdoc
  File "/usr/lib/python2.7/site-packages/numpy/lib/__init__.py", line 13,
in <module>
    from polynomial import *
  File "/usr/lib/python2.7/site-packages/numpy/lib/polynomial.py", line 17,
in <module>
    from numpy.linalg import eigvals, lstsq
  File "/usr/lib/python2.7/site-packages/numpy/linalg/__init__.py", line
48, in <module>
    from linalg import *
  File "/usr/lib/python2.7/site-packages/numpy/linalg/linalg.py", line 23,
in <module>
    from numpy.linalg import lapack_lite
ImportError: No such file or directory

Esto es lo que pongo en el codigo en c:
#include <stdlib.h>
#include <stdio.h>

int main(){
    char py_cmd[200];

    sprintf(py_cmd, "python pyemb.py");
    system(py_cmd);

}

siendo pyemb.py:
import numpy
print "all fine with the world"


Lo mas extraño de todo es que si en la linea de comandos corro el comando:
python pyemb.py

todo resulta como debe ser.

Estoy realmente perdido en esto. ¿Qué diferencia puede haber en correr el
comando usando system que haciéndolo directamente?

Probé tambien importar otros módulos, como subprocess, math, y sys y no
tuve ningún problema.

Estoy usando python 2.7 en windows XP.

En la computadora también hay instalado un python 2.5, aunque cuando
escribo "python" en la línea de comandos el intérprete que me sale es el de
la versión 2.7, así que no creo que el problema pase por ahí. ¿Estoy en lo
correcto?

Muchas gracias
-- 
Emanuel

_______________________________________________
pyar mailing list pyar en python.org.ar
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
Argentina - http://www.usla.org.ar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140205/5b8743f1/attachment.html>


More information about the pyar mailing list