Mémo de conversion de l'application autonome Python QT App

J'avais besoin de transformer l'application python en une application autonome, j'ai donc fait beaucoup de recherches. Il y avait divers outils de conversion, mais j'ai finalement décidé d'utiliser pyinstaller. À propos, l'utilisation de qtcreator facilite la création d'une interface graphique. (Cela coûte de l'argent après la période gratuite.)

OUTLINE --Environnement --Créez un environnement avec pyenv


environnement

MacOSX El Capitan 10.11.5   
python3.5.0 (homebrew pyenv-virtualenv)   
qt5,pyqt5 (homebrew)    

Je pense qu'il y a beaucoup de gens qui gèrent la version python avec pyenv dans l'environnement mac, et il y a beaucoup de gens qui mettent pyenv et qt dans homebrew, mais même si je cherche un ensemble d'informations, il est difficile de sortir. Il n'y en avait pas.

Créer un environnement avec pyenv

Si vous essayez d'utiliser pyinstaller avec python3.5.0 que vous mettez dans pyenv sans penser à rien Je n'ai pas libpython3.4.dylib! Erreur. Il semble que python doit être inclus en tant que framework. Je devais faire attention à la compilation et à l'installation de python.

env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install -v 3.5.0
~Je vais faire diverses choses.~
pyenv virtualenv 3.5.0 stand_app

Et cela aussi.

pip install --upgrade pip

PyQt5 Installer pour le moment

brew install pyqt5 --with-python

Il semble que pyqt ne puisse pas être installé avec pip, donc pyqt5 installé avec brew peut être utilisé en le liant symboliquement à l'environnement pyenv.

ln -s /usr/local/Cellar/pyqt5/5.6/lib/python3.5/site-packages/PyQt5/ /usr/local/opt/pyenv/versions/stand_app/lib/python3.5/site-packages/

Vous pouvez l'utiliser pour le moment. C'est un peu dur. ..

pyinstaller pyinstaller peut être installé à partir de pip.

pip install pyinstaller

Créer une application qt

Pour le moment, écrivez une application qt simple.

Enregistrez ce qui suit sous qt.py


import sys
from PyQt5.QtWidgets import (QWidget, QToolTip,
    QPushButton, QApplication)
from PyQt5.QtGui import QFont
from PyQt5.QtCore import QCoreApplication


class Example(QWidget):
  def __init__(self):
      super().__init__()

      self.initUI()


  def initUI(self):

      QToolTip.setFont(QFont('SansSerif', 10)) #font-Spécification de la famille et de la taille de la police
      self.setToolTip('This is a <b>QWidget</b> widget')#Insérez la puce outil avec la souris allumée.

      btn = QPushButton('Button', self) #Génération de bouton
      btn.setToolTip('This is a <b>QPushButton</b> widget') #Insérez la puce outil avec la souris allumée.
      btn.clicked.connect(QCoreApplication.instance().quit) #Appuyez sur le bouton pour fermer l'écran
      btn.resize(btn.sizeHint()) #Il spécifie une belle taille de bouton et un effet de bouton.
      btn.move(50, 50)#Réglage de la position du bouton

      self.setGeometry(300, 300, 300, 200)
      self.setWindowTitle('Tooltips')
      self.show()

if __name__ == '__main__':

    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

génération d'applications autonomes

Et enfin c'est celui que j'attendais. Depuis la ligne de commande

pyinstaller --onefile --windowed qt.py

Dorya. ./dist/ qt.app Peut être fait! !! !! !!

Je l'ai fait! !!

Recommended Posts

Mémo de conversion de l'application autonome Python QT App
Mise à jour automatique de l'application Qt pour Python
Mémo Python
mémo python
Mémo Python
mémo python
Mémo Python
Mémo Python
Python UTC ⇔ JST, chaîne de caractères (UTC) ⇒ Mémo de conversion JST
Qt pour l'application de bureau de l'application Python
[Python] Mémo sur le dictionnaire
mémo débutant python (9.2-10)
mémo débutant python (9.1)
★ Mémo ★ Python Iroha
[Python] Mémo EDA
Mémo opérateur Python 3
[Mon mémo] python
Mémo de métaclasse Python3
[Python] Mémo de fond de carte
Mémo débutant Python (2)
[Python] Mémo Numpy
[Python] Mémo de conversion entre les données temporelles et les données numériques
Classe Python (mémo d'apprentissage Python ⑦)
installation de python openCV (mémo)
Module Python (mémo d'apprentissage Python ④)
Mémo du package de test Python
[Python] Mémo sur les fonctions
mémo d'expression régulière python
Recherche de bisection (python2.7) mémo
[Mon mémo] python -v / python -V
Mémo de type Liste / Dictionnaire Python3
[Mémo] Tri de liste Python3
Astuces Python (mon mémo)
[Python] Mémo sur les erreurs
Mémo de script DynamoDB (Python)
Mémo de base Python - Partie 2
livre de recettes python Memo
conversion de date / heure <-> python unix-time
Notes de commande de base Python
Mémo du didacticiel Python OpenCV
Mémo de grammaire de base Python
Mémo de l'API TensorFlow (Python)
liens de mémo utiles python
Mémo d'opération de décorateur Python
Mémo de base Python - Partie 1
Élément de mémo Python efficace 3
Mémo Python d'énumération approximative
Mémo Python (pour moi): Array
Gestion des exceptions Python (mémo d'apprentissage Python ⑥)
Mémo de mesure du temps d'exécution Python
Mémo graphique Twitter avec Python
[Line / Python] Mémo d'implémentation Beacon
Mémo tranche python et rubis
Mémo de grammaire de base Python (1)
Mémo de code personnel Python
Raspeye + Python + Mémo OpenGL
Grammaire de base Python (divers) Mémo (3)
Mémo int de type immuable Python
mémo python utilisant perl --join