Wie führt man ein Hot-Update in Pyd durch?
仅有的幸福
仅有的幸福 2017-06-13 09:24:40
0
3
1321

Jetzt haben wir ein Plug-in-Update-System für den PC-Client. Früher hatte das Plug-in die Endung .py. Kein Problem. Aber in letzter Zeit gibt es ein Problem bei der Verwendung von cython zum Kompilieren in pyd. Wenn das Hauptprogramm das pydModul importiert, kann es nicht gelöscht werden. Prompte Aktenbelegung. Es kann nur gelöscht werden, wenn das Hauptprogramm geschlossen wird. Dies verliert jedoch die Bedeutung eines Hot-Updates. Gibt es eine Möglichkeit, pyd dynamisch zu deinstallieren?

import xxpyd
import sys

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

import time
time.sleep(100)
Wenn sys.modules rechtzeitig gelöscht wird, kann auch pyd nicht gelöscht werden.

仅有的幸福
仅有的幸福

Antworte allen(3)
Ty80

目前有一种折中的方案,用一个插件管理类去控制导入和获取pyd,优点就是可以随意次数的热更新,缺点就是所有引用的import语法都要换成插件管理类去 import

刘奇

导入的pyd文件如果删除不掉,能否每次用新的pyd文件去更新,如20170616.pyd(只是例子),其他旧的文件在每次停主程序或者其他时机删除。

给我你的怀抱

pyd 本质就是 dll

有 dll地狱一说,形容dll难于做版本管理

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!