Page 1 sur 2

[RESOLU] Paquet en erreur suite update WAPT 2.0

Publié : 06 mai 2021 - 17:00
par Alann
Bonjour,

J'ai développé un paquet pour le configuration post-installation de windows de mon parc, initialement sur WAPT 1.8.
L'idée est de configurer un poste fraichement installé en retrouvant son nom à partir de son IP en faisant un reverse DNS.
Pour ça j'utilise le module dnspython.

Depuis le passage en WAPT 2.0 l'installation me renvoie une erreur : AttributeError: 'GenericRdata' object has no attribute 'target'

Cette erreur se réfère à un bout de code :

Code : Tout sélectionner

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
Le truc curieux, c'est que ce code fonctionne à merveille lorsqu'il est exécuté en local sur PyScripter, mais il est en erreur lorsqu'il est déployé sur les postes.

Une idée ?

Re: Paquet en erreur suite update WAPT 2.0

Publié : 07 mai 2021 - 09:22
par Gaetan
Bonjour Alann,
le paquet dnspython est-il importé en début de code ?
Si cela ne fonctionne pas, peut-être le packager avec le paquet ?

Re: Paquet en erreur suite update WAPT 2.0

Publié : 07 mai 2021 - 09:26
par Alann
En début de code j'ai un

Code : Tout sélectionner

import dns.resolver
import dns.reversename
Comment le packager avec le paquet ?

Re: Paquet en erreur suite update WAPT 2.0

Publié : 07 mai 2021 - 10:42
par Gaetan
Est-ce possible d'avoir la sortie de l'erreur directement ?

Re: Paquet en erreur suite update WAPT 2.0

Publié : 07 mai 2021 - 10:50
par Alann
J'ai relancé l'install sur un poste fraichement installé :

Code : Tout sélectionner

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'
Visiblement, il faut que j'intègre le moduule dnspython dans le package wapt. Je ne sais pas comment faire...

Re: Paquet en erreur suite update WAPT 2.0

Publié : 07 mai 2021 - 15:37
par dcardon
Bonjour Alann,
la librairie dnspython ne doit pas être très lourde, le mieux c'est de l'inclure dans le paquet. Vous pouvez télécharger le zip sur https://pypi.org/project/dnspython/#files puis récupérer le répertoire "/dns" dedans et le mettre à la racine de votre paquet à côté du setup.py
Cordialement,
Denis

Re: Paquet en erreur suite update WAPT 2.0

Publié : 07 mai 2021 - 15:52
par Alann
Bonjour Denis et merci de votre réponse.

Ça fonctionne effectivement.

La solution était si simple...

Re: Paquet en erreur suite update WAPT 2.0

Publié : 08 mai 2021 - 18:47
par Alann
Si je dois pinailler, il y aurait juste un point :

L'audit sur les machines donne le même message d'erreur, alors que l'installation est OK.

Code : Tout sélectionner

Audit aborted due to exception: No module named 'dns'

Re: Paquet en erreur suite update WAPT 2.0

Publié : 19 mai 2021 - 15:45
par Gaetan
Bonjour Alann,

est-ce possible d'avoir le code du paquet complet ?

Re: Paquet en erreur suite update WAPT 2.0

Publié : 20 mai 2021 - 09:24
par Alann
Problème résolu.

Il suffisait de placer le dossier "dns" du module PyDSN dans le paquet.

Il faut penser au passage à faire un copytree pour l'ajouter aux librairies des wapt des clients, sans quoi l'audit des paquets renvoie une erreur.