COM
Javi
qualopec en lycos.es
Lun Ago 25 10:00:42 CEST 2003
Estoy intentado trabajar con COM y en mi intento de crear una dll con
py2exe no funciona
tengo la siguiente clase - viene en los ejemplos de las extensiones win32 -:
# testblep.py
class HelloWorld:
public_methods_ = ['Hello']
_public_attrs_ = ['softspace', 'noCalls']
_readonly_attrs_ = ['noCalls']
_reg_clsid_ = "{57D95BCA-7883-4988-93BB-35C81C2CB026}"
_reg_desc_ = "Python Test COM Server"
_reg_progid_ = "Python.TestServer"
_public_methods_ = ['Hello']
def __init__(self):
self.softspace = 1
self.noCalls = 0
def Hello(self, who):
self.noCalls = self.noCalls + 1
# insert "softspace" number of spaces
return "Hello" + " " * self.softspace + str(who)
if __name__=='__main__':
import win32com.server.register,sys;
win32com.server.register.UseCommandLine(HelloWorld)
si ejecuto este script se registra correctamente y funciona bien (lo he
testeado con un programilla en vbs)
ahora _intento_ crear la dll
tengo el build_com.py:
#build_com.py:
from distutils.core import setup
import testblep
import py2exe
setup(name="testblep.py",
scripts=["testblep.HelloWorld"],
)
ahora ejecuto lo siguiente:
C:\soft\dev_utils>"C:\Archivos de programa\Python23\python"
build_com.py py2exe --com-dll
y me da un error:
Traceback (most recent call last):
File "build_com.py", line 7, in ?
scripts=["testblep.HelloWorld"],
File "C:\Archivos de programa\Python23\lib\distutils\core.py", line
149, in se
tup
dist.run_commands()
File "C:\Archivos de programa\Python23\lib\distutils\dist.py", line
907, in ru
n_commands
self.run_command(cmd)
File "C:\Archivos de programa\Python23\lib\distutils\dist.py", line
927, in ru
n_command
cmd_obj.run()
File "C:\ARCHIV~1\Python23\Lib\site-packages\py2exe\build_exe.py",
line 561, i
n run
mf.import_hook(f)
File
"C:\ARCHIV~1\Python23\Lib\site-packages\py2exe\tools\modulefinder.py", li
ne 127, in import_hook
m = self.load_tail(q, tail)
File
"C:\ARCHIV~1\Python23\Lib\site-packages\py2exe\tools\modulefinder.py", li
ne 193, in load_tail
raise ImportError, "No module named " + mname
ImportError: No module named testblep.HelloWorld
# siento que sea tan largo XD
Más información sobre la lista de distribución Python-es