Sorry for long delay, I've tried below code (Setting pythonpath environment variable) and then initialize python interpreter but the embedded python interpreter did not get the newly assigned PYTHONPATH. I ve looked at the sys.path in python code (that is run by the embedded interpreter) and it behaved according to older pythonpath.
Setting environment variable seemed to be correct. Does py_initialize run in another thread so it starts before setting the environment var? // add custom plib.zip archive to pythonpath if(!::getenv("PYTHONPATH")) { ::putenv("PYTHONPATH=.;.\\plib.zip"); } else ::putenv("PYTHONPATH=%PYTHONPATH%;.\\plib.zip"); std::cout << "PYTHONPath Set to: " << ::getenv("PYTHONPATH") << std::endl << "And Again: "; system("echo %PYTHONPATH%"); Py_Initialize(); Regards, On Fri, Feb 8, 2008 at 2:08 AM, Bronner, Gregory <[EMAIL PROTECTED]> wrote: > I've done this the rather old-fashioned way. > > Basically, what I do is: > > Step 1: > > Embed Python: > if(!::getenv("PYTHONHOME")) > { > ::putenv("PYTHONHOME=<Whatever>"); > } > if(!::getenv("PYTHONPATH")) > { > ::putenv("PYTHONPATH=."); > } > > Py_SetProgramName("leaktester"); > Py_InitializeEx(0); > init_memoryhoginterface(); // This initializes your SWIG module > PyRun_SimpleString("print 'HELLO FROM PYTHON'"); //<--- OR you can do > something else here like run a file > > > Step 2: > Extend python to talk back to your C++ code. > I use one giant SWIG module (see init function above) > > SWIG allows you to finely control what you expose to python, so you don't > wind up exposing the whole C++ API. > > > > > > > > > > ------------------------------ > *From:* Furkan Kuru [mailto:[EMAIL PROTECTED] > *Sent:* Thursday, February 07, 2008 6:06 PM > *To:* python-list@python.org > *Subject:* Re: embedded python in c++ packaging > > I do not have access to my development machine right now. > but is it enough adding just a simple line at the top of my main python > file 'sys.path.append("modules.zip")' before importing any other modules? > > On 2/7/08, Gabriel Genellina <[EMAIL PROTECTED]> wrote: > > > > En Thu, 07 Feb 2008 16:18:57 -0200, Joshua Kugler <[EMAIL PROTECTED]> > > escribió: > > > Furkan Kuru wrote: > > >> > > >> I have been developing an application in C++ that embeds Python > > >> interpreter. It takes advantage of too many modules from Python. > > >> When I want to package this application, I need to add too many files > > >> (.pyc) from Python/lib folder together with Python25.dll. > > >> Is there a way to pack these .pyc files to a zip file and redirect > > >> Python25.dll to that zip file? > > > > > > That is effectively what py2exe does with the modules required by the > > > main > > > application. It takes all the required modules and puts them in a > > > library.zip file. You might take a look at how it does it. > > > > Using py2exe has an additional advantage, it recursively scans all > > modules > > looking for dependencies. > > Once you know the required set of modules, you can bundle them in a .zip > > file and add its full path into sys.path (the absolute path including > > filename and .zip extension). Python does look into the .zip searching > > for > > modules. > > > > -- > > Gabriel Genellina > > > > -- > > http://mail.python.org/mailman/listinfo/python-list > > > > > > -- > Furkan Kuru > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - This message is intended only for the personal and > confidential use of the designated recipient(s) named above. If you are not > the intended recipient of this message you are hereby notified that any > review, dissemination, distribution or copying of this message is strictly > prohibited. This communication is for information purposes only and should > not be regarded as an offer to sell or as a solicitation of an offer to buy > any financial product, an official confirmation of any transaction, or as an > official statement of Lehman Brothers. Email transmission cannot be > guaranteed to be secure or error-free. Therefore, we do not represent that > this information is complete or accurate and it should not be relied upon as > such. All information is subject to change without notice. -------- IRS > Circular 230 Disclosure: Please be advised that any discussion of U.S. tax > matters contained within this communication (including any attachments) is > not intended or written to be used and cannot be used for the purpose of (i) > avoiding U.S. tax related penalties or (ii) promoting, marketing or > recommending to another party any transaction or matter addressed herein. -- Furkan Kuru
-- http://mail.python.org/mailman/listinfo/python-list