[python-win32] Win32 COM cache problem

Mark Hammond mhammond at skippinet.com.au
Wed May 30 04:24:14 CEST 2007


> I dig a bit more and it appears that the python win32 com 
> module requires all target typelibs to be in the app current 
> directory. Otherwise the cache is systematically re-generated 
> anytime a new scripting engine is created. 

This should not be the case, and there should be no assumption about the
location of the typelib - indeed, we generally just ask COM to load it for
us.  I'm afraid I have no insights to the problems you face, so you might
need to dig a little more to see what is going wrong, or work out a way so I
can reproduce the problem locally.

Cheers,

Mark

> 
> Am I doing something wrong ? Thanks in advance...
> 
> -mab
> 
> -----Original Message-----
> From: python-win32-bounces at python.org 
> [mailto:python-win32-bounces at python.org] On Behalf Of 
> Marc-André Belzile
> Sent: May 28, 2007 6:28 PM
> To: python-win32 at python.org
> Subject: [python-win32] Win32 COM cache problem
> 
> Hi,
> 
> My win32 app is hosting python 2.5 via the scripting ActiveX 
> object. Everything works perfectly but the win32 COM cache 
> behaves strangely if the app current folder (e.g. c:\temp) is 
> different than the application path (e.g. c:\bin\MyApp). At 
> some point when the app needs to create a new python 
> scripting engine, the whole cache gets re-created from 
> scratch which makes things pretty slow. This will not happen 
> if the app is executed from it's normal application folder.
> 
> Is there anything I can do to avoid this problem other than 
> running the app from its normal application folder ?
> 
> Below is an excerpt of a filemon log that shows the cache generation.
> 
> Thanks for your help.
> 
> -mab
> 
> 5:47:26 PM XSI.exe:4964 OPEN 
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11
> D3-811D-00A0C9AC19A9x0x1x0.py NOT FOUND Options: Open  
> Access: 00010080
> 5:47:26 PM XSI.exe:4964 OPEN 
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11
> D3-811D-00A0C9AC19A9x0x1x0.pyc NOT FOUND Options: Open  
> Access: 00010080
> 5:47:26 PM XSI.exe:4964 OPEN 
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11
> D3-811D-00A0C9AC19A9x0x1x0.pyo NOT FOUND Options: Open  
> Access: 00010080
> 5:47:26 PM XSI.exe:4964 CREATE 
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11
> D3-811D-00A0C9AC19A9x0x1x0\__init__.py SUCCESS Options: 
> OverwriteIf  Access: 00120196
> 5:47:26 PM XSI.exe:4964 QUERY INFORMATION 
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11
> D3-811D-00A0C9AC19A9x0x1x0\__init__.py SUCCESS FileFsVolumeInformation
> 5:47:26 PM XSI.exe:4964 QUERY INFORMATION 
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11
> D3-811D-00A0C9AC19A9x0x1x0\__init__.py BUFFER OVERFLOW 
> FileAllInformation
> 5:47:28 PM XSI.exe:4964 WRITE  
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11
> D3-811D-00A0C9AC19A9x0x1x0\__init__.py SUCCESS Offset: 0 Length: 1024
> 5:47:28 PM XSI.exe:4964 WRITE 
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11
> D3-811D-00A0C9AC19A9x0x1x0\__init__.py SUCCESS Offset: 1024 
> Length: 1024
> 5:47:28 PM XSI.exe:4964 WRITE 
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11
> D3-811D-00A0C9AC19A9x0x1x0\__init__.py SUCCESS Offset: 2048 
> Length: 1024
> 5:47:28 PM XSI.exe:4964 WRITE 
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11
> D3-811D-00A0C9AC19A9x0x1x0\__init__.py SUCCESS Offset: 3072 
> Length: 1024
> 5:47:28 PM XSI.exe:4964 WRITE  
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11
> D3-811D-00A0C9AC19A9x0x1x0\__init__.py SUCCESS Offset: 4096 Length: 72
> 5:47:28 PM XSI.exe:4964 WRITE 
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11
> D3-811D-00A0C9AC19A9x0x1x0\__init__.py SUCCESS Offset: 4168 
> Length: 1024
> 5:47:28 PM XSI.exe:4964 WRITE 
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11
> D3-811D-00A0C9AC19A9x0x1x0\__init__.py SUCCESS Offset: 5192 
> Length: 1024
> 5:47:28 PM XSI.exe:4964 WRITE 
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11
> D3-811D-00A0C9AC19A9x0x1x0\__init__.py SUCCESS Offset: 6216 
> Length: 1024
> 5:47:28 PM XSI.exe:4964 WRITE 
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11
> D3-811D-00A0C9AC19A9x0x1x0\__init__.py SUCCESS Offset: 7240 
> Length: 1024
> 5:47:28 PM XSI.exe:4964 WRITE 
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11
> D3-811D-00A0C9AC19A9x0x1x0\__init__.py SUCCESS Offset: 8264 Length: 56
> 5:47:28 PM XSI.exe:4964 WRITE 
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11
> D3-811D-00A0C9AC19A9x0x1x0\__init__.py SUCCESS Offset: 8320 
> Length: 1024
> 5:47:28 PM XSI.exe:4964 WRITE 
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11
> D3-811D-00A0C9AC19A9x0x1x0\__init__.py SUCCESS Offset: 9344 
> Length: 1024
> 5:47:28 PM XSI.exe:4964 WRITE 
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11
> D3-811D-00A0C9AC19A9x0x1x0\__init__.py SUCCESS Offset: 10368 
> Length: 1024
> 5:47:28 PM XSI.exe:4964 WRITE 
> C:\Python25\lib\site-packages\win32com\gen_py\269C4D8C-E32D-11
> D3-811D-00A0C9AC19A9x0x1x0\__init__.py SUCCESS Offset: 11392 
> Length: 1024 etc...
> _______________________________________________
> Python-win32 mailing list
> Python-win32 at python.org
> http://mail.python.org/mailman/listinfo/python-win32
> _______________________________________________
> Python-win32 mailing list
> Python-win32 at python.org
> http://mail.python.org/mailman/listinfo/python-win32
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: winmail.dat
Type: application/ms-tnef
Size: 3440 bytes
Desc: not available
Url : http://mail.python.org/pipermail/python-win32/attachments/20070530/fa4deffc/attachment.bin 


More information about the Python-win32 mailing list