Página 1 de 2
[RESUELTO] Error de paquete tras la actualización de WAPT 2.0
Publicado: 6 de mayo de 2021 - 17:00
por Alann
Buen día,
Desarrollé un paquete para la configuración posterior a la instalación de Windows en mi red, inicialmente en WAPT 1.8.
La idea es configurar una estación de trabajo recién instalada buscando su nombre a partir de su dirección IP mediante una búsqueda DNS inversa.
Para eso, uso el módulo dnspython.
Desde la actualización a WAPT 2.0, la instalación devuelve un error: AttributeError: el objeto 'GenericRdata' no tiene el atributo 'target'
Este error se refiere a un fragmento de código:
Código: Seleccionar todo
def findmachinename(ip):
pass
no = dns.reversename.from_address(ip)
answers = dns.resolver.query(no, 'PTR')
for rdata in answers:
nom = rdata
nommachine = nom.target[0].decode("utf-8")
return nommachine
Lo curioso es que este código funciona perfectamente cuando se ejecuta localmente en PyScripter, pero falla cuando se implementa en estaciones de trabajo.
¿Alguna idea?
Re: Error de paquete tras la actualización de WAPT 2.0
Publicado: 7 de mayo de 2021 - 09:22
por Gaetan
Hola Alann,
¿el paquete dnspython está importado al principio de tu código?
Si eso no funciona, ¿quizás podrías intentar incluirlo junto con el otro paquete?
Re: Error de paquete tras la actualización de WAPT 2.0
Publicado: 7 de mayo de 2021 - 09:26
por Alann
Al principio del código tengo un
¿Cómo lo empaqueto con el paquete?
Re: Error de paquete tras la actualización de WAPT 2.0
Publicado: 7 de mayo de 2021 - 10:42 a. m.
por Gaetan
¿Es posible obtener la salida de error directamente?
Re: Error de paquete tras la actualización de WAPT 2.0
Publicado: 7 de mayo de 2021 - 10:50 a. m.
por Alann
Reinicié la instalación en una máquina recién instalada:
Código: Seleccionar todo
Traceback (most recent call last):
File "C:\Program Files (x86)\wapt\common.py", line 3841, in install_wapt
setup = import_setup(setup_filename)
File "C:\Program Files (x86)\wapt\waptutils.py", line 1498, in import_setup
py_mod = imp.load_source(modulename, setupfilename)
File "imp.py", line 171, in load_source
File "<frozen importlib._bootstrap>", line 702, in _load
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "C:\windows\TEMP\wapt48wx8rls\setup.py", line 5, in <module>
ModuleNotFoundError: No module named 'dns'
ModuleNotFoundError: No module named 'dns'
Al parecer, necesito integrar el módulo dnspython en el paquete wapt. No sé cómo hacerlo...
Re: Error de paquete tras la actualización de WAPT 2.0
Publicado: 7 de mayo de 2021 - 15:37
por dcardon
Hola Alann,
la biblioteca dnspython no debería ser muy grande; lo mejor es incluirla en el paquete. Puedes descargar el archivo zip desde
https://pypi.org/project/dnspython/#files , luego extraer el directorio "/dns" y colocarlo en el directorio raíz de tu paquete junto a setup.py.
Saludos,
Denis
Re: Error de paquete tras la actualización de WAPT 2.0
Publicado: 7 de mayo de 2021 - 15:52
por Alann
Hola Denis, y gracias por tu respuesta.
Funciona perfectamente.
La solución era muy sencilla...
Re: Error de paquete tras la actualización de WAPT 2.0
Publicado: 8 de mayo de 2021 - 18:47
por Alann
Si tuviera que ponerme quisquilloso, sólo diría un punto:
La auditoría de las máquinas arroja el mismo mensaje de error, aunque la instalación es correcta.
Re: Error de paquete tras la actualización de WAPT 2.0
Publicado: 19 de mayo de 2021 - 15:45
por Gaetan
Hola Alann,
¿es posible obtener el código completo del paquete?
Re: Error de paquete tras la actualización de WAPT 2.0
Publicado: 20 de mayo de 2021 - 09:24
por Alann
Problema resuelto.
Simplemente se trataba de colocar la carpeta "dns" del módulo PyDSN en el paquete.
Recuerda también crear un archivo copytree para añadirlo a las bibliotecas WAPT de los clientes; de lo contrario, la auditoría del paquete devolverá un error.