Méthode de mise à jour automatique par python Pyinstaller exe

Que veux-tu faire

Allons-y!

Lorsque vous ouvrez l'application, recherchez les mises à jour

hogehoge.spec

・ ・ Abréviation
exe = EXE(pyz,
          Tree('version',prefix='version'), #ajouter à
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          [],
          name='hogehoge_mac',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          upx_exclude=[],
          runtime_tmpdir=None,
          console=True )

Ajoutez la version et faites exe. Placez system.json sous le répertoire de version

system.json
[
  {
    "version": "1.9"
  }
]
#Vérification de la version
  if common.system["version"] != str(common.information[0].system_version):

Comparez la version créée avec la version de la base de données Je ne vais pas lire json ou l'obtenir à partir de la base de données.

S'il y a une mise à jour, la mise à jour démarre automatiquement

            #Télécharger
            file_size = 50029115
            res = requests.get(self.url, stream=True)
            pbar = tqdm(total=file_size, unit="B", unit_scale=True)
            with open(self.save_name, 'wb') as file:
                for chunk in res.iter_content(chunk_size=1024):
                    file.write(chunk)
                    pbar.update(len(chunk))
                pbar.close()

Il a l'air bien lorsqu'il est téléchargé avec la mise à jour automatique, tqdm. Le point enregistre save_name avec un nom différent de exe.

Redémarrez l'appli

            #Exécution par lots
            command = "rename.cmd " + self.save_name + " " + self.rename_name + " " + self.delete_name
            subprocess.Popen(command.split())

Après le téléchargement, lancez le lot pour supprimer les fichiers, renommez et lancez l'application dans le lot.

# rename.cmd
taskkill /im %2 /F
timeout 2
del /f %3
timeout 2
rename %1 %2
%3

Coupez le processus en cours au cas où. Supprimez le fichier avant la mise à jour. Renommez le fichier mis à jour. Redémarrer.

Résumé

--Avoir la version actuelle avec json

Vous ne pouvez pas renommer l'application qui s'exécute en python, vous devrez donc lancer le lot.

Recommended Posts

Méthode de mise à jour automatique par python Pyinstaller exe
Méthode Kernel avec Python
[Python] Méthode de calcul avec numpy
Mise à jour automatique du module Python
Mémorandum PyInstaller Convertit Python [.py] en [.exe] avec 2 lignes
[Python Kivy] Comment créer un fichier exe avec pyinstaller
Remplacez la valeur du dictionnaire par Python> update ()
Créer un exe Scrapy avec Pyinstaller
Interpolation automatique des images avec OpenCV et Python (méthode de marche rapide, Navier-Stokes)
Mise à jour Python (2.6-> 2.7)
Convertir un script Python écrit dans PyTorch en exe avec PyInstaller
Soudainement avec Python PyInstaller Aucun module nommé pyinstaller
Obstrué par la mise à jour Python de la console GCP ①
Écran partagé avec l'application python exe
EXE l'application créée avec PyQt5 avec PyInstaller
Création d'un fichier exe avec Python PyInstaller: le PC se fige dans le traitement parallèle
FizzBuzz en Python3
Pyinstaller transforme les scripts Python en .exes qui peuvent être exécutés sous Windows
Grattage avec Python
Statistiques avec python
Fonctionnement automatique de Chrome avec Python + Sélénium + pandas
Grattage avec Python
Python avec Go
Obstruction de la mise à jour python de la console GCP ② (Solution)
Twilio avec Python
Intégrer avec Python
Déplacer la scène automatique THORLABS avec Python [pour recherche]
Jouez avec 2016-Python
AES256 avec python
Testé avec Python
Développer des applications Windows avec Python 3 + Tkinter (fichier exe)
python commence par ()
avec syntaxe (Python)
Bingo avec python
Zundokokiyoshi avec python
méthode de mise à jour youtube-dl
Méthode Johnson (python)
Excel avec Python
[Python] Méthode Semi-Lagrange
Micro-ordinateur avec Python
Cast avec python
Créez un fichier exe qui fonctionne dans un environnement Windows sans Python avec PyInstaller
[Python] Que faire quand Aucun module nommé "pyproj.datadir" n'apparaît lors de la création d'Exe avec PyInstaller
Création automatique de tickets JIRA avec slack bot ~ développement de slack bot avec python ① ~
Détruire l'expression intermédiaire de la méthode sweep avec Python
Suivi automatique sur Twitter avec python et sélénium! (RPA)
Création de la méthode ρ pour décrypter une courbe elliptique avec python
Créer un outil de formatage CSV avec Python Pandas Py Installer
Je ne peux pas transformer un projet utilisant PyWebView en un exe avec PyInstaller
Communication série avec Python
Zip, décompressez avec python
Django 1.11 a démarré avec Python3.6
Jugement des nombres premiers avec Python
Python avec eclipse + PyDev.
Communication de socket avec Python
Analyse de données avec python 2
Grattage en Python (préparation)
Apprendre Python avec ChemTHEATER 03
Recherche séquentielle avec Python