Comment faire une mise à jour à chaud dans Pyd ?
仅有的幸福
仅有的幸福 2017-06-13 09:24:40
0
3
1360

Nous disposons désormais d'un système de mise à jour de plug-in pour le client PC. Dans le passé, le plug-in avait le suffixe .py. aucun problème. Mais récemment, il y a eu un problème lors de l'utilisation de cython pour le compiler dans pyd. Lorsque le programme principal importe le module pyd, il ne peut pas être supprimé. Occupation rapide du fichier. Il ne peut être supprimé qu'à la fermeture du programme principal. Mais cela perd le sens d’une mise à jour à chaud. Existe-t-il un moyen de désinstaller dynamiquement pyd ? Ou existe-t-il un meilleur moyen ?

import xxpyd
import sys

print 'xxpyd' in sys.modules
del sys.modules['xxpyd']
print 'xxpyd' in sys.modules

import time
time.sleep(100)
Avec le temps, si sys.modules est supprimé, pyd ne peut pas non plus être supprimé.

仅有的幸福
仅有的幸福

répondre à tous(3)
Ty80

Il existe actuellement une solution de compromis, qui consiste à utiliser une classe de gestion de plug-in pour contrôler l'importation et l'acquisition de pyd. L'avantage est qu'il peut être mis à jour à chaud autant de fois que souhaité. L'inconvénient est que toute la syntaxe d'importation est référencée. doit être remplacé par la classe de gestion du plug-in à importer

刘奇

Si le fichier pyd importé ne peut pas être supprimé, peut-il être mis à jour avec un nouveau fichier pyd à chaque fois, tel que 20170616.pyd (juste un exemple). Les autres anciens fichiers seront supprimés à chaque arrêt du programme principal ou à d'autres moments. .

给我你的怀抱

pyd est essentiellement une DLL

Il y a un dicton appelé dll hell, qui décrit à quel point il est difficile de gérer les versions de dll

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal