Package applications et programmes pygobject comme «.package deb ”pour le bureau Linux - partie 4

Package applications et programmes pygobject comme «.package deb ”pour le bureau Linux - partie 4

Nous continuons le Pygobject Série de programmation avec vous sur le bureau Linux, dans le 4e Une partie de la série, nous expliquerons comment emballer les programmes et applications que nous avons créés pour le bureau Linux en utilisant PygObject comme package Debian.

Applications d'emballage comme package DEB

Packages Debian (.deb) sont le format le plus utilisé pour installer des programmes sous Linux, le «dpkg»Système qui traite .deb Packages est la valeur par défaut de toutes les distributions Linux basées à Debian comme Ubuntu et Linux Mint. C'est pourquoi nous expliquerons seulement comment emballer nos programmes pour Debian.

Créez un package Debian à partir de vos applications PygObject

Tout d'abord, vous devriez avoir des connaissances de base sur la création de packages Debian, ce guide suivant vous aidera beaucoup.

  1. Introduction à Debian Packaging

En bref, si vous avez un projet appelé «myprogram"Il doit contenir les fichiers et dossiers suivants afin que vous puissiez l'emballer.

Créer un package Deb
  1. Debian (Dossier): Ce dossier comprend toutes les informations sur le package Debian divisé en de nombreux sous-fichiers.
  2. pote (Dossier): Le dossier PO comprend les fichiers de traduction du programme (nous l'expliquerons dans la partie 5).
  3. myprogram (Fichier): c'est le fichier python que nous avons créé à l'aide de pygObject, c'est le fichier principal du projet.
  4. ui.clairière (Fichier): le fichier d'interface utilisateur graphique… Si vous avez créé l'interface de l'application à l'aide de Glade, vous devez inclure ce fichier dans
    votre projet.
  5. bmyprogram.bureau (Fichier): Il s'agit du fichier responsable de l'affichage de l'application dans le menu des applications.
  6. installation.py (Fichier): Ce fichier est responsable de l'installation de n'importe quel programme Python dans le système local, il est très important dans tout programme Python, il a également de nombreuses autres façons d'utiliser.

Bien sûr… il existe de nombreux autres fichiers et dossiers que vous pouvez inclure dans votre projet (en fait, vous pouvez inclure tout ce que vous voulez), mais ce sont ceux de base.

Maintenant, commençons à emballer un projet. Créez un nouveau dossier appelé «myprogram», Créez un fichier appelé«myprogram»Et ajoutez-y le code suivant.

#!/ usr / bin / python # - * - codage: UTF-8 - * - ## Remplacez votre nom et votre e-mail. # Mon nom <[email protected]> ## Ici, vous devez ajouter la licence du fichier, remplacer "myProgram" par le nom de votre programme. # Licence: # MyProgram est un logiciel gratuit: vous pouvez le redistribuer et / ou le modifier # It sous les termes de la licence publique générale GNU telle que publiée par # The Free Software Foundation, soit la version 3 de la licence, ou # (à votre option ) Toute version ultérieure. # # MyProgram est distribué dans l'espoir qu'il sera utile, # mais sans aucune garantie; sans même la garantie implicite de # # marchand ou d'aptitude à un usage particulier. Voir la licence publique générale # GNU pour plus de détails. # # Vous auriez dû recevoir une copie de la licence publique générale GNU # avec MyProgram. Sinon, voir . de Gi.Référentiel Import GTK Import OS Class Handler: Def Opsenterminal (self, bouton): ## Lorsque l'utilisateur clique sur le premier bouton, le terminal sera ouvert. OS.Système ("X-Emulator") DEF CloseProgram (Self, Button): GTK.main_quit () # rien de nouveau ici… nous venons d'importer l'interface utilisateur.Fichier Glade. constructeur = gtk.Constructeur () constructeur.add_from_file ("/ usr / lib / myprogram / ui.Glade ") constructeur.connect_signals (handler ()) window = builder.fenêtre get_object ("window1").connecter ("Delete-Event", GTK.Fenêtre Main_Quit).show_all () gtk.principal() 

Créer un ui.clairière Fixez et remplissez-le de ce code.

     FAUX My Program Center Applications-Utilities Center True False 5 5 5 5 Vertical True False bienvenue dans ce programme de test !   Faux True 0 Cliquez sur moi pour ouvrir le terminal True True True False True 1 GTK-PRÉFÉRENCES True True True False False True 2 GTK-AUT TRUE TRUE TRUE FAUX TRUE 3 GTK-Close True True True False True 4       

Il n'y a rien de nouveau jusqu'à présent… nous venons de créer un fichier python et son fichier d'interface. Créez maintenant un "installation.py”Fichier dans le même dossier et y ajouter le code suivant, chaque ligne est expliquée dans les commentaires.

# Ici, nous avons importé le module «Configuration» qui nous permet d'installer des scripts Python sur le système local en plus d'effectuer d'autres tâches, vous pouvez trouver la documentation ici: https: // docs.python.org / 2 / distutils / apiref.HTML des distutiles.Configuration de la configuration de l'importation de base (name = "myprogram", # Nom du programme. version = "1.0", # Version du programme. description = "Une interface Web facile à utiliser pour créer et partager facilement des pâtes", # Vous n'avez pas besoin d'aide ici. auteur = "Tecmint", # Ni ici. auteur_email = "[Protégé par e-mail]", # Ni ici: d url ="http: // Exemple.com", # Si vous avez un site Web pour votre programme ... mettez-le ici. Licence = 'Gplv3', # La licence du programme. scripts = ['myprogram'], # C'est le nom du fichier de script Python principal, dans notre cas, c'est "MyProgram", c'est le fichier que nous avons ajouté dans le dossier "MyProgram". # Ici, vous pouvez choisir où souhaitez-vous installer vos fichiers sur le système local, le fichier "myProgram" sera automatiquement installé à son endroit correct plus tard, vous n'avez donc qu'à choisir où vous souhaitez installer les fichiers facultatifs que vous forme avec le script python data_files = [("lib / myprogram", [" UI.Glade "]), # Cela va installer" l'interface utilisateur.Fichier de glace sous le chemin / USR / lib / myprogram Path. ("partage / applications", [" MyProgram.bureau "])]) # et cela va installer le .Fichier de bureau Dans le dossier / usr / share / applications, tout le dossier est automatiquement installé sous le dossier / usr dans votre partition racine, vous n'avez pas besoin d'ajouter "/ usr / sur le chemin. 

Créez maintenant un "myprogram.bureau”Fichier dans le même dossier et ajouter le code suivant, il est également expliqué dans les commentaires.

# C'est le .Fichier de bureau, ce fichier est le fichier responsable concernant l'affichage de votre application dans le menu des applications dans n'importe quelle interface de bureau, il est important d'ajouter ce fichier à votre projet, vous pouvez afficher plus de détails sur ce fichier à partir d'ici: https: // développeur.gnome.org / intégration-guide / stable / desktop-files.html.en [entrée de bureau] # le nom par défaut du programme. Nom = mon programme # Le nom du programme en langue arabe, ce nom sera utilisé pour afficher l'application sous le menu des applications lorsque la langue par défaut du système est arabe, utilisez les codes de langues pour modifier le nom de chaque langue. Nom [ar] = برنامجي # Description du fichier. Commentaire = un programme de test simple développé par moi. # Description du fichier en arabe. Commentaire [ar] = برنامج régalisant. # La commande qui va être exécutée lorsque l'application est lancée à partir du menu Applications, vous pouvez entrer le nom du script Python ou le chemin complet si vous voulez dire / usr / bin / myProgram exec = myProgram # voulez-vous exécuter Votre programme du terminal? Terminal = false # laissez ceci comme ça. Type = application # Entrez le nom de l'icône que vous souhaitez utiliser pour l'application, vous pouvez entrer un chemin d'accès à l'icône également comme / usr / share / pixmaps / icon.PNG mais assurez-vous d'inclure l'icône.Fichier PNG dans votre dossier de projet en premier et dans la configuration.fichier py aussi. Ici, nous utiliserons l'icône "Système" pour l'instant. Icon = système # La catégorie du fichier, vous pouvez afficher les catégories disponibles à partir du site Web Freedesktop. Catégories = gnome; gtk; utilitaire; StartupNotify = false 

Nous avons presque fini ici maintenant… nous devons simplement créer de petits fichiers sous le «Debian»Dossier afin de fournir des informations sur notre package pour le«dpkg" système.

Ouvrez le «Debian”Dossier et créez les fichiers suivants.

Contrôler les règles de modification de la compat 
Fichiers du projet pour le package DEB

contrôle: Ce fichier fournit les informations de base sur le package Debian, pour plus de détails, veuillez visiter les champs de contrôle des packages Debian.

Source: MyProgram Haigeer: Mon nom <[email protected]> SECTION: UTILS PRIORITÉ: Normes optionnelles-Version: 3.9.2 Build-Depends: Debhelper (> = 9), Python2.7 Package: MyProgram Architecture: Tout dépend: Python-Gi Description: Mon programme ici, vous pouvez ajouter une brève description de votre programme. 

compat: Ceci est juste un fichier important pour le système DPKG, il inclut simplement le numéro magique 9, laissez-le comme ça.

9 

changelog: Ici, vous pourrez ajouter les modifications que vous effectuez sur votre programme, pour plus d'informations, veuillez visiter Debian Package Changelog Source.

myProgram (1.0) TRAIT; urgence = moyen * ajouter les nouvelles fonctionnalités ici. * Continuez à ajouter de nouvelles modifications ici. * Et ici. -- Mon nom ici <[email protected]> Sam, 27 décembre 2014 21:36:33 +0200 

règles: Ce fichier est responsable de l'exécution du processus d'installation sur la machine locale pour installer le package, vous pouvez afficher plus d'informations
À propos de ce fichier d'ici: les règles par défaut du package debian.

Bien que vous n'aurez rien à avoir de plus pour votre programme Python.

#!/ usr / bin / make -f # Ce fichier est responsable de l'exécution du processus d'installation sur la machine locale pour installer le package, vous pouvez afficher plus d'informations sur ce fichier à partir d'ici: https: // www.Debian.org / doc / manuels / guide / guide / dreq.en.html # défaules bien que vous n'aurez rien à avoir de plus pour votre programme Python. %: dh [e-mail protégé] Override_dh_auto_install: configuration python.py install --root = debian / myprogram --install-Layout = Deb --install-scripts = / usr / bin / # Cela va exécuter la configuration.Fichier PY Pour installer le programme en tant que script Python sur le système, il va également installer le script "myProgram" sous / usr / bin / en utilisant l'option --install-scripts, n'oubliez pas de remplacer "myProgram" par votre NOM DU PROGRAMME. override_dh_auto_build: 

Maintenant, nous avons créé tous les fichiers nécessaires pour notre programme avec succès, commençons maintenant à l'emballer. Tout d'abord, assurez-vous que vous avez installé des dépendances pour le processus de construction avant de commencer.

$ sudo apt-get mette 

Imaginez maintenant que le «myprogram"Le dossier est dans votre dossier à domicile (/ Home / User / MyProgram) Afin de l'emballer en tant que package Debian, exécutez les commandes suivantes.

$ cd / home / user / myprogram $ Debuild -us -uc 
Échantillon de sortie
[Protégé par e-mail]: ~ / projets / myProgram $ debuild -us -uc dpkg-buildpackage -rfakeroot -d -us -uc dpkg-buildPackage: package source myprogram dpkg-buildpackage: source version 1.0 DPKG-BUILDPACKAGE: Source Distribution Trusty DPKG-BuildPackage: Source modifiée par mon nom ici <[email protected]> DPKG-SOURCE --BEFER-BUILD MYPROGRAM DPKG-BUILDPACKAGE: Architecture hôte i386 Fakeroot Debian / Rules Clean DH Clean DH_TESTDIR DH_AUTO_CLEAN… Fini. 

Et c'est tout ! Votre package Debian a été créé avec succès:

Package Debian créé

Afin de l'installer sur n'importe quelle distribution basée à Debian, exécutez.

$ sudo dpkg -i myprogram_1.0_.deb 

N'oubliez pas de remplacer le fichier ci-dessus par le nom du package… Maintenant, après avoir installé le package, vous pouvez exécuter le programme à partir du menu Applications.

Exécuter de programme

Et ça marchera…

Premier programme emballé

Ici termine le 4e Une partie de notre série sur PygObject… Dans la prochaine leçon, nous expliquerons comment localiser l'application PygObject facilement, jusque-là, restez à tons…