#1 Le 24/04/2013, à 08:45
- Pierre771
[Résolu] Erreur 17 dans script Python wicd daemon
Bonjour
en essayant d'exécuter wicd après l'avoir installé, je tombe sur cette erreur 17 dans ce script écrit en python Il doit y avoir un moyen de capturer cette erreur : j'ai bien vu quelque chose sur le net mais je ne domine pas ce langage.
Pourriez-vous l'indiquer comment coder cela, svp merci
Message d'erreur :
pierre@pierre-K73SV:~$ sudo wicd
Traceback (most recent call last):
File "/usr/share/wicd/daemon/wicd-daemon.py", line 1859, in <module>
main(sys.argv)
File "/usr/share/wicd/daemon/wicd-daemon.py", line 1708, in main
os.symlink(dest, backup_location)
OSError: [Errno 17] File exists
pierre@pierre-K73SV:~$
Script : /usr/share/wicd/daemon/wicd-daemon.py
......
def main(argv):
""" The main daemon program.
Keyword arguments:
argv -- The arguments passed to the script.
"""
# back up resolv.conf before we do anything else
try:
backup_location = wpath.varlib + 'resolv.conf.orig'
# don't back up if .orig exists, probably there cause
# wicd exploded
if not os.path.exists(backup_location):
if os.path.islink('/etc/resolv.conf'):
dest = os.readlink('/etc/resolv.conf')
os.symlink(dest, backup_location)
else:
shutil.copy2('/etc/resolv.conf', backup_location)
os.chmod(backup_location, 0644)
except IOError:
print 'error backing up resolv.conf'
.........
if __name__ == '__main__':
if os.getuid() != 0:
print ("Root privileges are required for the daemon to run properly." +
" Exiting.")
sys.exit(1)
gobject.threads_init()
main(sys.argv)
Dernière modification par Pierre771 (Le 25/04/2013, à 04:01)
C'est trop injuste !
Mes configs
Asus X73S - Windows 10 famille 64 bits + Manjaro KDE - Intel core i5 2,4 Ghz - Intel Graphics 3000 + GEFORCE GT 540M (Optimus) - 600 Go + 600 Go - RAM 10 Go - Ecran 1600x900
Hors ligne
#2 Le 24/04/2013, à 10:16
- pingouinux
Re : [Résolu] Erreur 17 dans script Python wicd daemon
Bonjour,
try: os.symlink(dest, backup_location)
except OSError:
sys.stderr.write("Erreur : dest=%s backup_location=%s\n"%(dest,backup_location))
raise
Hors ligne
#3 Le 24/04/2013, à 10:32
- Pierre771
Re : [Résolu] Erreur 17 dans script Python wicd daemon
Merci !
Et pour la 2ème ? (tout en bas du script), main(sys.argv) ?
try: main(sys.argv)
except OSError:
sys.stderr.write("Erreur : dest=%s backup_location=%s\n"%(dest,backup_location))
raise
?
Merci !
Dernière modification par Pierre771 (Le 24/04/2013, à 10:33)
C'est trop injuste !
Mes configs
Asus X73S - Windows 10 famille 64 bits + Manjaro KDE - Intel core i5 2,4 Ghz - Intel Graphics 3000 + GEFORCE GT 540M (Optimus) - 600 Go + 600 Go - RAM 10 Go - Ecran 1600x900
Hors ligne
#4 Le 24/04/2013, à 10:51
- pingouinux
Re : [Résolu] Erreur 17 dans script Python wicd daemon
Et pour la 2ème ? (tout en bas du script), main(sys.argv) ?
Ce n'est pas une autre erreur, mais la chaîne des appels qui est listée.
Ce que j'ai fait en #2, c'est imprimer le nom des variables en cause, et relancer l'erreur (raise) pour arrêter le programme. À la place, tu peux faire le traitement de ton choix.
Hors ligne
#5 Le 24/04/2013, à 12:56
- Pierre771
Re : [Résolu] Erreur 17 dans script Python wicd daemon
Merci mais c'est casse-pieds quand on ne connaît pas le langage
Aux deux endroits (lignes 1708 et 1859) je voudrais continuer le traitement, tout simplement
C'est trop injuste !
Mes configs
Asus X73S - Windows 10 famille 64 bits + Manjaro KDE - Intel core i5 2,4 Ghz - Intel Graphics 3000 + GEFORCE GT 540M (Optimus) - 600 Go + 600 Go - RAM 10 Go - Ecran 1600x900
Hors ligne
#6 Le 24/04/2013, à 13:04
- pingouinux
Re : [Résolu] Erreur 17 dans script Python wicd daemon
Aux deux endroits (lignes 1708 et 1859) je voudrais continuer le traitement, tout simplement
Pour ne pas s'arrêter, il suffit de supprimer la ligne
raise
mais il faut être sûr de ce que tu fais. D'une manière générale, il est préférable de remédier à la cause de l'erreur avant de continuer.
Hors ligne
#7 Le 25/04/2013, à 04:00
- Pierre771
Re : [Résolu] Erreur 17 dans script Python wicd daemon
Merci pour l'aide
C'est trop injuste !
Mes configs
Asus X73S - Windows 10 famille 64 bits + Manjaro KDE - Intel core i5 2,4 Ghz - Intel Graphics 3000 + GEFORCE GT 540M (Optimus) - 600 Go + 600 Go - RAM 10 Go - Ecran 1600x900
Hors ligne