Page 1 sur 1

filecopyto dans uninstall()

Posté : 11 déc. 2017 - 15:42
par beemoon
Bonjour,
filecopyto fonction bien si je le place dans la fonction install() mais pas dans la fonction uninstall() de mon setup.py
Je voudrais copier un fichier contenu dans mon paquet avant de lancer une commande run(..) pour déinstaller un programme.

si vous avez une idée?

Re: filecopyto dans uninstall()

Posté : 12 déc. 2017 - 09:01
par htouvet
Lors de l'exécution de la fonction uninstall, le paquet et ses fichiers ne sont plus présents sur la machine.
Seul le contenu de setup.py a été gardé dans la base de données locale du client wapt.

Si vous avez besoin de certains fichiers du paquet lors du uninstall, il faut les copier dans un répertoire non temporaire sur le disque dans la fonction install du paquet.

Re: filecopyto dans uninstall()

Posté : 13 déc. 2017 - 09:10
par beemoon
Je ne veux pas laisser le fichier sur la machine quand le paquet est installé. Ne peut on pas simuler un install dans la partie uninstall... juste pour avoir acces aux fichiers du paquets?

D'ailleurs pour python 3.6, la méthode de d'installation conseillée est de ré-exécuter l'installeur avec le paramètre /quiet /uninstall

python-3.6.3-amd64.exe /quiet /uninstall

J'aurai donc besoin de cette fonctionnalité.

Re: filecopyto dans uninstall()

Posté : 13 déc. 2017 - 12:29
par sfonteneau
beemoon a écrit : 13 déc. 2017 - 09:10 Je ne veux pas laisser le fichier sur la machine quand le paquet est installé.
En quoi est-ce gênant ?
beemoon a écrit : 13 déc. 2017 - 09:10 Ne peut on pas simuler un install dans la partie uninstall... juste pour avoir acces aux fichiers du paquets?

D'ailleurs pour python 3.6, la méthode de d'installation conseillée est de ré-exécuter l'installeur avec le paramètre /quiet /uninstall

python-3.6.3-amd64.exe /quiet /uninstall
Si vous voulez vraiment le faire, dans def uninstall, il vous faut faire un wget du paquet puis un unzip ... puis vous avez accès au fichiers, et enfin, a la fin de la uninstall, une suppression du fichier téléchargé... En supposant que le serveur wapt est disponible au moment de la désinstallation ...


Le plus simple reste de faire une copie du fichier d'installation dans un dossier sur la machine lors de l'installation ...

Re: filecopyto dans uninstall()

Posté : 13 déc. 2017 - 16:57
par beemoon
parce que je n'aime pas laisser des fichiers qui ne sont pas utiles... juste une question d'habitude.