COM makepy broken in ActivePython 2.3.2?

Gerson Kurz gerson.kurz at t-online.de
Fri Nov 21 13:04:37 EST 2003


I have problems getting "COM makepy" working in ActivePython 2.3.2.
This is what happens when I start "COM makepy" from the Pythonwin
Menu:

PythonWin 2.3.2 (#49, Nov  6 2003, 10:18:20) [MSC v.1200 32 bit
(Intel)] on win32.
Portions Copyright 1994-2001 Mark Hammond (mhammond at skippinet.com.au)
- see 'Help/About PythonWin' for further copyright information.
>>> Failed to execute command:
from win32com.client import makepy;makepy.main()
Traceback (most recent call last):
  File
"C:\Python23\Lib\site-packages\Pythonwin\pywin\framework\toolmenu.py",
line 103, in HandleToolCommand
    exec "%s\n" % pyCmd
  File "<string>", line 1, in ?
  File "C:\Python23\Lib\site-packages\win32com\client\__init__.py",
line 12, in ?
    import dynamic, gencache, pythoncom
  File "C:\Python23\Lib\site-packages\win32com\client\gencache.py",
line 623, in ?
    __init__()
  File "C:\Python23\Lib\site-packages\win32com\client\gencache.py",
line 52, in __init__
    Rebuild()
  File "C:\Python23\Lib\site-packages\win32com\client\gencache.py",
line 610, in Rebuild
    _SaveDicts()
  File "C:\Python23\Lib\site-packages\win32com\client\gencache.py",
line 57, in _SaveDicts
    raise RuntimeError, "Trying to write to a readonly gencache
('%s')!" \
RuntimeError: Trying to write to a readonly gencache
('C:\TEMP\gen_py\2.3')!
---------------------------------------------------

OK, so I figure it wants to write to C:\TEMP\gen_py (why? IIRC this
used to be buried somewhere along the site-packages). I create the
directory & import a class. This is what happens:

Generating to
C:\TEMP\gen_py\2.3\08EF934A-521D-4E29-A92F-0FDE92DDE9D6x0x1x0.py
Failed to execute command:
from win32com.client import makepy;makepy.main()
Traceback (most recent call last):
  File
"C:\Python23\Lib\site-packages\Pythonwin\pywin\framework\toolmenu.py",
line 103, in HandleToolCommand
    exec "%s\n" % pyCmd
  File "<string>", line 1, in ?
  File "C:\Python23\Lib\site-packages\win32com\client\makepy.py", line
362, in main
    GenerateFromTypeLibSpec(arg, f, verboseLevel = verboseLevel,
bForDemand = bForDemand, bBuildHidden = hiddenSpec)
  File "C:\Python23\Lib\site-packages\win32com\client\makepy.py", line
273, in GenerateFromTypeLibSpec
    gencache.AddModuleToCache(info.clsid, info.lcid, info.major,
info.minor)
  File "C:\Python23\Lib\site-packages\win32com\client\gencache.py",
line 514, in AddModuleToCache
    mod = _GetModule(fname)
  File "C:\Python23\Lib\site-packages\win32com\client\gencache.py",
line 590, in _GetModule
    mod = __import__(mod_name)
  File
"C:\TEMP\gen_py\2.3\08EF934A-521D-4E29-A92F-0FDE92DDE9D6x0x1x0.py",
line 12, in ?
    from win32com.client import Dispatch
ImportError: cannot import name Dispatch
---------------------------------------------------

Now when I try this:

import win32com.client
instance = win32com.client.Dispatch("...")

it tells me that Dispatch is not found ???? I restart pythonwin &
python2.3.2 & win32all "out of the box" before and didn't have any of
these problems. So, is "COM makepy" broken in AP232? 






More information about the Python-list mailing list