Y
youngdubliner
I'm having a problem ........
I've stripped all my code to help isolate the problem.
Its seems to be with importing numarray when python is embedded in C.
I have a simple C program it Opens Python imports a script and
then Closes Python
like so .......
int main(int argc,char *argv[])
{
int count = 0;
PyObject *pmod;
while ( count < 10)
{
/*
** Initialize Python
*/
Py_Initialize();
printf("\nOpen Python ---- >");
pmod = PyImport_ImportModule("test");
Py_DECREF(pmod);
/*
** Close Python
*/
Py_Finalize();
printf("\n<---- Closed Python");
/*
** Do this 10 times !
*/
count++;
}
getchar();
return(0);
}
and thats it !
The script it calls is test.py its very simple , it imports numarray
and then returns. like so .......
-----------------------
test.py
-----------------------
#Imports
from numarray import *
def test_func():
return (99)
-----------------------
end of file
-----------------------
The first time it is called from my C code
it all works fine ! ( but only the first time ! )
In the second iteration above test .c crashes
It has something to do with importing numarray.
Beacase if you comment out the import line i.e
-----------------------
test.py
-----------------------
#Imports
# Commented out !
#from numarray import *
def test_func():
return (99)
-----------------------
end of file
-----------------------
its scrolls through the while loop and works fine.
Its all very odd . any ideas ?
I'm using Python 2.3.3 and Python 2.3 numarray - 0.8
Thanks in advance
Keith.
I've stripped all my code to help isolate the problem.
Its seems to be with importing numarray when python is embedded in C.
I have a simple C program it Opens Python imports a script and
then Closes Python
like so .......
int main(int argc,char *argv[])
{
int count = 0;
PyObject *pmod;
while ( count < 10)
{
/*
** Initialize Python
*/
Py_Initialize();
printf("\nOpen Python ---- >");
pmod = PyImport_ImportModule("test");
Py_DECREF(pmod);
/*
** Close Python
*/
Py_Finalize();
printf("\n<---- Closed Python");
/*
** Do this 10 times !
*/
count++;
}
getchar();
return(0);
}
and thats it !
The script it calls is test.py its very simple , it imports numarray
and then returns. like so .......
-----------------------
test.py
-----------------------
#Imports
from numarray import *
def test_func():
return (99)
-----------------------
end of file
-----------------------
The first time it is called from my C code
it all works fine ! ( but only the first time ! )
In the second iteration above test .c crashes
It has something to do with importing numarray.
Beacase if you comment out the import line i.e
-----------------------
test.py
-----------------------
#Imports
# Commented out !
#from numarray import *
def test_func():
return (99)
-----------------------
end of file
-----------------------
its scrolls through the while loop and works fine.
Its all very odd . any ideas ?
I'm using Python 2.3.3 and Python 2.3 numarray - 0.8
Thanks in advance
Keith.