allocate TWO interpreters in a C program?

David E. Konerding DSD staff dek at pabst.lbl.gov
Mon Apr 5 16:28:38 EDT 2004


In article <4Vicc.16932$lt2.13201 at newsread1.news.pas.earthlink.net>, Andrew Dalke wrote:
> Torsten Mohr:
>> i can embed Perl into a C program and allocate MORE THAN ONE
>> interpreter if i want to.  They are independent from each other.
>>
>> Is this also possible in Python?
> 
> As no one else has answered, I'll take a stab at it, on the assumption
> that a wrong answer will be corrected.
> 
> No, it isn't possible.  Various bits of state, like exceptions, are stored
> in global variable (actually thread global I think).  I think there is other
> global state, like sys.modules which contains all of the imported modules.
> 
> There are experimental systems like PyPy which can provide
> independent interpreters but I know little about them.
> 
>                     Andrew
>                     dalke at dalkescientific.com
> 
> 

Actually, more than one *sub*-interpreter can be instantiated in a single C program.

http://python.org/doc/current/api/initialization.html

However, upon close reading, it's hardly as independent as you might hope.

But for fun also read:

http://www.python.org/peps/pep-0311.html

since it seems to imply that multiple subinterpreters are not a frequently used feature.

Dave



More information about the Python-list mailing list