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

Are makepy-generated COM wrapper classes distributable?

P: n/a
Hi!

I've just written a Python speech-recognition module (http://
pyspeech.googlecode.com). It provides a clean and simple interface to
the Microsoft Speech SDK using COM wrapper classes generated by
PythonWin's MakePY utility.

Once this is a mature module, I'd like to make it as useful as
possible to the community, so I'd like to make installation as simple
as possible. Currently, to get speech.py to work, you must first:

* install the Microsoft Speech SDK onto a Windows box, and
* possibly install PythonWin, and then
* run PythonWin's MakePY utility to generate modules into the gen_py
dir.

I'd like to remove the MakePY steps, so that as long as a user has run
the SDK installer, she can install the 'speech' package and be ready
to use it. Can I somehow bundle the generated modules into my
setuptools package so that the wrappers are installed at the same
time? (If so, how -- just copy them into the package directory?) Or
are the wrappers targeted to my machine or installation, so that
everyone is forced to go through this?

Thanks for any pointers,
Michael
Aug 4 '08 #1
Share this Question
Share on Google+
1 Reply

P: n/a
On Aug 4, 2:24*am, gundlach <gundl...@gmail.comwrote:
Can I somehow bundle the generated modules into my
setuptools package so that the wrappers are installed at the same
time? *(If so, how -- just copy them into the package directory?) *Or
are the wrappers targeted to my machine or installation, so that
everyone is forced to go through this?
I answered my own question, and it's even better than I had hoped
for. For posterity: running

python $PYTHONDIR/lib/site-packages/win32com/client/makepy.py -i

and selecting your COM class of choice will output the Python code to
stick into your module which guarantees that the necessary wrapper
classes exist in the cache. If they don't, they're created at
runtime. If they do, it's a no-op.

So there's no need for me to tell users to run MakePY, nor for me to
copy the generated classes into my project somehow. Great!

Michael
Aug 5 '08 #2

This discussion thread is closed

Replies have been disabled for this discussion.