Continuăm PyGObject programarea seriilor cu dvs. pe desktopul Linux, în Al 4-lea parte a seriei vom explica cum să împachetăm programele și aplicațiile pe care le-am creat pentru desktop-ul Linux folosind PyGObject ca pachet Debian.
Pachete Debian (.deb) sunt cel mai utilizat format pentru a instala programe sub Linux, „dpkg”Sistem cu care se ocupă .deb pachete este implicit pentru toate distribuțiile Linux bazate pe Debian, cum ar fi Ubuntu și Linux Mint. De aceea vom explica doar cum să împachetăm programele noastre pentru Debian.
În primul rând, ar trebui să aveți câteva cunoștințe de bază despre crearea pachetelor Debian, acest ghid următor vă va ajuta foarte mult.
Pe scurt, dacă aveți proiectul numit „programul meu”Trebuie să conțină următoarele fișiere și foldere, astfel încât să le puteți împacheta.
Desigur.. Există multe alte fișiere și foldere pe care le puteți include în proiect (de fapt puteți include orice doriți), dar acestea sunt cele de bază.
Acum, să începem să împachetăm un proiect. Creați un folder nou numit „programul meu”, Creați un fișier numit„programul meu”Și adăugați următorul cod.
#! / usr / bin / python # - * - codare: utf-8 - * - ## Înlocuiți-vă numele și adresa de e-mail. # Numele meu <[e-mail protejat]> ## Aici trebuie să adăugați licența fișierului, să înlocuiți „Programul meu” cu numele programului. # Licență: # MyProgram este software gratuit: îl puteți redistribui și / sau modifica # în condițiile GNU General Public Licență publicată de # Free Software Foundation, fie versiunea 3 a licenței, fie # (la alegerea dvs.) ulterior versiune. # # MyProgram este distribuit în speranța că va fi util, dar FĂRĂ NICI O GARANȚIE; fără măcar garanția implicită de # VANZABILITATE sau ADEVĂRARE PENTRU UN SCOP PARTICULAR. Consultați # GNU General Public License pentru mai multe detalii. # # Ar fi trebuit să primiți o copie a Licenței publice generale GNU # împreună cu MyProgram. Dacă nu, vezi. din gi.repository import Gtk import os class Handler: def openterminal (self, button): ## Când utilizatorul face clic pe primul buton, terminalul va fi deschis. os.system ("x-terminal-emulator") def closeprogram (self, button): Gtk.main_quit () # Nimic nou aici.. Tocmai am importat fișierul „ui.glade”. constructor = Gtk. Builder () builder.add_from_file ("/ usr / lib / myprogram / ui.glade") fereastră builder.connect_signals (Handler ()) = builder.get_object ("window1") window.connect ("delete-event", Gtk.main_quit) window.show_all () Gtk.main ()
Creeaza o ui.glade fișier și completați-l cu acest cod.
1.0UTF-8 Generat cu poiana 3.16.1
Nu este nimic nou până acum.. Tocmai am creat un fișier Python și fișierul său de interfață. Acum creați un „setup.py”În același folder și adăugați următorul cod, fiecare linie este explicată în comentarii.
# Aici am importat modulul „setup” care ne permite să instalăm scripturi Python pe sistemul local pe lângă efectuarea altor sarcini, puteți găsi documentația aici: https://docs.python.org/2/distutils/apiref.html din setarea configurării importului distutils.core (name = "programul meu", # Numele programului. versiune = "1.0", # Versiunea programului. description = "O interfață web ușor de utilizat pentru a crea și partaja cu ușurință paste", # Nu aveți nevoie de ajutor aici. autor = "TecMint", # Nici aici. author_email = "[e-mail protejat]", # Nici aici: D url ="http://example.com", # Dacă aveți un site web pentru programul dvs... pune-l aici. licență = 'GPLv3', # Licența programului. scripturi = ['programul meu'], # Acesta este numele fișierului script Python principal, în cazul nostru este „programul meu”, este fișierul pe care l-am adăugat în dosarul „programul meu”. # Aici puteți alege unde doriți să instalați fișierele pe sistemul local, fișierul "programul meu" va fi instalat automat în locul corect mai târziu, deci trebuie doar să alegeți unde doriți să instalați fișierele opționale pe care le formați cu scriptul Python data_files = [ ("lib / programul meu", [" ui.glade "]), # Aceasta va instala fișierul" ui.glade "sub calea / usr / lib / myprogram. ("partajare / aplicații", [" myprogram.desktop "])]) # Și acesta va instala fișierul .desktop în folderul / usr / share / applications, toate folderul este instalat automat sub folderul / usr din partiția dvs. root, nu este nevoie să adăugați „/ usr / la cale.
Acum creați un „myprogram.desktop”În același folder și adăugați următorul cod, este explicat și în comentarii.
# Acesta este fișierul .desktop, acest fișier este fișierul responsabil pentru afișarea aplicației dvs. în meniul de aplicații din orice interfață desktop, este important să adăugați acest fișier la proiectul dvs., puteți vedea mai multe detalii despre acest fișier de la Aici: https://developer.gnome.org/integration-guide/stable/desktop-files.html.en [Desktop Entry] # Numele implicit al programului. Nume = Programul meu # Numele programului în limba arabă, acest nume va fi folosit pentru a afișa aplicația sub meniul de aplicații atunci când limba implicită a sistemului este araba, utilizați codurile de limbi pentru a schimba numele pentru fiecare limba. Name [ar] = برنامجي # Descrierea fișierului. Comentariu = Un program simplu de test dezvoltat de mine. # Descrierea fișierului în arabă. Comentariu [ar] = برنامج تجريبي بسيط تم تطويره بواسطتي. # Comanda care va fi executată atunci când aplicația este lansată din meniul de aplicații, puteți introduce numele Script Python sau calea completă dacă doriți like / usr / bin / myprogram Exec = myprogram # Vreți să rulați programul din Terminal? Terminal = false # Lăsați așa. Tip = Aplicație # Introduceți numele pictogramei pe care doriți să o utilizați pentru aplicație, puteți introduce o cale pentru pictogramă, precum și /usr/share/pixmaps/icon.png, dar asigurați-vă că includeți mai întâi fișierul icon.png în folderul de proiect și în fișierul setup.py ca bine. Aici vom folosi pictograma „sistem” pentru moment. Icon = system # Categoria fișierului, puteți vizualiza categoriile disponibile de pe site-ul freedesktop. Categorii = GNOME; GTK; Utilitate; StartupNotify = fals
Aproape am terminat aici acum.. Trebuie doar să creăm câteva fișiere mici sub „debian”Pentru a oferi informații despre pachetul nostru pentru„dpkg”Sistem.
Deschide "debian”Și creați următoarele fișiere.
Control. compat. jurnalul de schimbări. reguli.
Control: Acest fișier oferă informații de bază despre pachetul Debian, pentru mai multe detalii, vă rugăm să vizitați Câmpuri de control pachet Debian.
Sursa: myprogram. Întreținător: Numele meu <[e-mail protejat]> Secțiune: utils Prioritate: opțională Standarde-Versiune: 3.9.2 Build-Depinde: debhelper (> = 9), python2.7 Pachet: myprogram Architecture: all Depends: python-gi Descriere: Programul meu Aici puteți adăuga o scurtă descriere despre program.
compat: Acesta este doar un fișier important pentru sistemul dpkg, acesta include doar numărul 9 magic, lăsați-l așa.
9.
jurnalul de schimbări: Aici veți putea adăuga modificările pe care le efectuați în programul dvs., pentru mai multe informații, vă rugăm să vizitați Sursa de modificări a pachetului Debian.
myprogram (1.0) de încredere; urgență = mediu * Adăugați aici noile funcții. * Continuați să adăugați noi modificări aici. * Si aici. - Numele meu aici <[e-mail protejat]l.com> Sâmbătă, 27 decembrie 2014 21:36:33 +0200.
reguli: Acest fișier este responsabil cu rularea procesului de instalare pe mașina locală pentru a instala pachetul, puteți vizualiza mai multe informații
despre acest fișier de aici: Regulile implicite ale pachetului Debian.
Deși nu veți avea nevoie de nimic mai mult pentru programul dvs. Python.
#! / usr / bin / make -f # Acest fișier este responsabil cu rularea procesului de instalare pe mașina locală pentru a instala pachetul, puteți vedea mai multe informații despre acest fișier de aici: https://www.debian.org/doc/manuals/maint-guide/dreq.en.html#defaultrules Deși nu veți avea nevoie de nimic mai mult pentru programul dvs. Python. %: dh [e-mail protejat] override_dh_auto_install: python setup.py install --root = debian / myprogram --install-layout = deb --install-scripts = / usr / bin / # Acesta va rula fișierul setup.py pentru a instala programul ca un script Python pe sistem, va instala, de asemenea, scriptul "myprogram" în / usr / bin / folosind opțiunea --install-scripts, NU Uitați să înlocuiți "myprogram" CU PROGRAMUL DUMNEAVOASTRĂ NUME. override_dh_auto_build:
Acum am creat toate fișierele necesare pentru programul nostru, acum să începem să le împachetăm. În primul rând, asigurați-vă că ați instalat unele dependențe pentru procesul de construire înainte de a începe.
$ sudo apt-get update. $ sudo apt-get install devscripts.
Acum imaginați-vă că „programul meu”Este în dosarul dvs. de acasă (/home/user/myprogram) pentru a-l împacheta ca pachet Debian, rulați următoarele comenzi.
$ cd / home / user / myprogram. $ debuild -us -uc.
[e-mail protejat]: ~ / Proiecte / myprogram $ debuild -us -uc dpkg-buildpackage -rfakeroot -D -us -uc. dpkg-buildpackage: pachetul sursă myprogram. dpkg-buildpackage: versiunea sursă 1.0. dpkg-buildpackage: distribuție sursă de încredere. dpkg-buildpackage: sursa modificată de My Name Here. <[e-mail protejat]> dpkg-source --before-build myprogram. dpkg-buildpackage: arhitectura gazdă i386. fakeroot debian / reguli curate. dh curat. dh_testdir. dh_auto_clean... ... A terminat alergarea lintianului.
Si asta e! Pachetul dvs. Debian a fost creat cu succes:
Pentru a-l instala pe orice distribuție bazată pe Debian, rulați.
$ sudo dpkg -i myprogram_1.0_all.deb.
Nu uitați să înlocuiți fișierul de mai sus cu numele pachetului.. Acum, după ce instalați pachetul, puteți rula programul din meniul de aplicații.
Și va funcționa ..
Aici se termină Al 4-lea parte a seriei noastre despre PyGObject.. În lecția următoare vom explica cum să localizați cu ușurință aplicația PyGObject, până când rămâneți atent la ea ...