By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
439,986 Members | 1,583 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 439,986 IT Pros & Developers. It's quick & easy.

makepy generating a file versus a directory

P: n/a
When does the makepy utility generate a .py file and when a directory?
And what decided if a directory or a file is generated?

What is the difference between a file and a directory (both named
after the uuid in the IDL file)?

Most of the time the code below generates a file called
BF79B6C5-47BE-11D2-BACD-006008060A3A.py. But one time it generated a
directory with that same name. This directory contained several .py
files.

Both the .py file and the directory are generated at:
"C:\Python23\Lib\site-packages\win32com\gen_py".

Here is the Python code:
from win32com.client import gencache
gencache.EnsureModule('{BF79B6C5-47BE-11D2-BACD-006008060A3A}', 0,
1, 0)

Thanks so much for your help.

Olaf
Jul 18 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
Olaf Meding wrote:
When does the makepy utility generate a .py file and when a directory?
And what decided if a directory or a file is generated?
Whenever 'bForDemand' is passed to the gencache/makepy functions.
Currently EnsureDispatch passes True here.
What is the difference between a file and a directory (both named
after the uuid in the IDL file)?


I am moving towards the directory version. In this case, only the
package itself (with the __init__.py) is generated when the tlb is
loaded. Interfaces etc referenced in the typelib are then generated 'on
demand', as they are referenced.

The benefit is for huge type-libraries, when only one or 2 interfaces
are used. A good example is Excel - often you just use 2 or 3
interfaces, but the .tlb, and generated .py file, is huge. The cost of
bringing in the .pyc can be quite high for these typelibs, let alone the
generation of it first time around.

Mark.
Jul 18 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.