Num Array problem with Embedding python in C

youngdubliner at hotmail.com youngdubliner at hotmail.com
Tue Jun 15 10:00:43 CEST 2004


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.



More information about the Python-list mailing list