Aplikasi dan program PygObject pakej sebagai .Pakej Deb untuk Desktop Linux - Bahagian 4

Aplikasi dan program PygObject pakej sebagai .Pakej Deb untuk Desktop Linux - Bahagian 4

Kami meneruskan Pygobject siri pengaturcaraan dengan anda di desktop linux, di Ke -4 Sebahagian daripada siri ini kami akan menerangkan cara membungkus program dan aplikasi yang kami buat untuk desktop Linux menggunakan PygObject sebagai pakej Debian.

Aplikasi pembungkusan sebagai pakej DEB

Pakej Debian (.Deb) adalah format yang paling banyak digunakan untuk memasang program di bawah Linux, "dpkg"Sistem yang berkaitan dengan .Deb Pakej adalah lalai pada semua pengagihan Linux berasaskan Debian seperti Ubuntu dan Linux Mint. Itulah sebabnya kami hanya akan menerangkan cara membungkus program kami untuk Debian.

Buat pakej debian dari aplikasi pygobject anda

Pertama, anda harus mempunyai pengetahuan asas tentang membuat pakej debian, panduan berikut ini akan banyak membantu anda.

  1. Pengenalan kepada Pembungkusan Debian

Ringkasnya, jika anda mempunyai projek yang dipanggil "myprogram"Ia mesti mengandungi fail dan folder berikut supaya anda dapat membungkusnya.

Buat pakej DEB
  1. Debian (Folder): Folder ini merangkumi semua maklumat mengenai pakej Debian yang dibahagikan kepada banyak sub-fail.
  2. PO (Folder): Folder PO termasuk fail terjemahan untuk program ini (kami akan menerangkannya dalam Bahagian 5).
  3. myprogram (Fail): ini adalah fail python yang kami buat menggunakan pygobject, itu adalah fail utama projek.
  4. ui.glade (Fail): Fail antara muka pengguna grafik ... Jika anda membuat antara muka aplikasi menggunakan Glade, anda mesti memasukkan fail ini di
    projek anda.
  5. Bmyprogram.Desktop (Fail): Ini adalah fail yang bertanggungjawab untuk menunjukkan aplikasi dalam menu aplikasi.
  6. Persediaan.py (Fail): Fail ini bertanggungjawab untuk memasang program Python ke dalam sistem tempatan, sangat penting dalam mana -mana program Python, ia mempunyai banyak cara lain untuk digunakan.

Sudah tentu ... terdapat banyak fail dan folder lain yang boleh anda sertakan dalam projek anda (sebenarnya anda boleh memasukkan apa sahaja yang anda mahukan) tetapi itu adalah yang asas.

Sekarang, mari kita mulakan pembungkusan projek. Buat folder baru yang dipanggil "myprogram", Buat fail yang dipanggil"myprogram"Dan tambahkan kod berikutnya.

#!/usr/bin/python #-*-pengekodan: UTF-8-*-## Gantikan nama dan e-mel anda. # Nama saya <[email protected]> ## Di sini anda mesti menambah lesen fail, ganti "myprogram" dengan nama program anda. # Lesen: # MyProgram adalah perisian percuma: anda boleh mengagihkan semula dan/atau mengubah suai # di bawah terma lesen umum GNU seperti yang diterbitkan oleh # Yayasan Perisian Percuma, sama ada versi 3 lesen, atau # (pada pilihan anda ) Mana -mana versi kemudian. # # MyProgram diedarkan dengan harapan ia akan berguna, # tetapi tanpa sebarang jaminan; tanpa jaminan tersirat # kebolehdagangan atau kecergasan untuk tujuan tertentu. Lihat Lesen Awam Umum # GNU untuk maklumat lanjut. # # Anda sepatutnya menerima salinan Lesen Awam Umum GNU # bersama dengan MyProgram. Sekiranya tidak, lihat . dari GI.Repositori Import GTK Import OS Kelas Pengendali: Def OpEnminal (Butang, Butang): ## Apabila pengguna mengklik pada butang pertama, terminal akan dibuka. OS.Sistem ("X-terminal-emulator") DEF CloseProgram (Butang, Butang): GTK.main_quit () # tidak ada yang baru di sini ... kami hanya mengimport 'ui.Fail Glade '. Builder = gtk.Pembina () pembina.add_from_file ("/usr/lib/myprogram/ui.glade ") pembina.connect_signals (handler ()) tetingkap = pembina.tetingkap get_object ("window1").Sambungkan ("Padam-Event", GTK.tetingkap main_quit).show_all () gtk.utama () 

Buat a ui.glade fail dan isi dengan kod ini.

     Pusat Pusat Program Pusat Program Pusat Saya Benar Falsaf !   Palsu benar 0 klik pada saya untuk membuka terminal True True False True 1 GTK-Preferences True True True False True 2 GTK-ABOUT TRUE BENAR BENAR BENAR BENAR BENAR 3 GTK-CLOSE BENAR BENAR BENAR BENAR BENAR BENAR BENAR 4       

Tidak ada yang baru sehingga sekarang ... kami baru membuat fail python dan fail antara muka. Sekarang buat "Persediaan.py"Fail dalam folder yang sama, dan tambahkan kod berikut, setiap baris dijelaskan dalam komen.

# Di sini kami mengimport modul 'Persediaan' yang membolehkan kami memasang skrip Python ke sistem tempatan selain melaksanakan beberapa tugas lain, anda boleh mencari dokumentasi di sini: https: // docs.python.org/2/distutils/apiref.html dari distutils.Persediaan Persediaan Import Teras (Name = "myprogram", # Nama program. versi = "1.0", # Versi program. Penerangan = "Antara muka web yang mudah digunakan untuk membuat & berkongsi pasta dengan mudah", # Anda tidak memerlukan bantuan di sini. pengarang = "Tecmint", # Atau di sini. pengarang_email = "[dilindungi e -mel]",# Atau di sini: D url ="http: // contoh.com", # Jika anda mempunyai laman web untuk program anda ... letakkan di sini. lesen = 'Gplv3', # Lesen program. skrip = ['myprogram'], # Ini adalah nama fail skrip python utama, dalam kes kami itu "myprogram", itu adalah fail yang kami tambahkan di bawah folder "myprogram". # Di sini anda boleh memilih di mana anda ingin memasang fail anda di sistem tempatan, fail "myprogram" akan dipasang secara automatik di tempat yang betul kemudian, jadi anda hanya perlu memilih di mana anda ingin memasang fail pilihan yang anda Bentuk dengan data skrip python data_files = [("lib/myprogram", [" ui.glade "]), # ini akan memasang" ui.Fail Glade "di bawah laluan/usr/lib/myprogram. ""Bahagian/Aplikasi", [" myprogram.desktop "])) # dan ini akan memasang .Fail desktop di bawah folder/usr/share/aplikasi, semua folder dipasang secara automatik di bawah folder/usr dalam partition root anda, anda tidak perlu menambah "/usr/ke jalan. 

Sekarang buat "myprogram.Desktop"Fail dalam folder yang sama, dan tambahkan kod berikut, ia juga dijelaskan dalam komen.

# Ini adalah .Fail desktop, fail ini adalah fail yang bertanggungjawab mengenai menunjukkan aplikasi anda dalam menu Aplikasi di mana -mana antara muka desktop, penting untuk menambah fail ini ke projek anda, anda boleh melihat lebih banyak maklumat mengenai fail ini dari sini: https: // pemaju.gnome.org/integrasi-panduan/stabil/desktop-fail.html.en [entri desktop] # Nama lalai program. Nama = Program Saya # Nama program dalam bahasa Arab, nama ini akan digunakan untuk memaparkan aplikasi di bawah menu aplikasi apabila bahasa lalai sistem adalah bahasa Arab, gunakan kod bahasa untuk menukar nama untuk setiap bahasa. Nama [AR] = برنامجfr # Penerangan fail. Komen = Program ujian mudah yang dibangunkan oleh saya. # Penerangan fail dalam bahasa Arab. Komen [AR] = برنامج تجريبي بسيط تم تطويره بواسطتي. # Perintah yang akan dilaksanakan apabila aplikasi dilancarkan dari menu Aplikasi, anda boleh memasukkan nama skrip python atau laluan penuh jika anda mahu seperti/usr/bin/myprogram exec = myprogram # Adakah anda ingin menjalankan program anda dari terminal? Terminal = palsu # tinggalkan ini seperti itu. Type = Application # Masukkan nama ikon yang ingin anda gunakan untuk aplikasi itu, anda boleh memasukkan jalan untuk ikon serta seperti/usr/share/pixmaps/ikon.PNG tetapi pastikan untuk memasukkan ikon.Fail PNG di folder projek anda terlebih dahulu dan dalam persediaan.fail py juga. Di sini kita akan menggunakan ikon "Sistem" buat masa ini. Icon = Sistem # Kategori fail, anda boleh melihat kategori yang tersedia dari laman web Freedesktop. Kategori = gnome; gtk; utiliti; StartUpNotify = false 

Kami hampir selesai di sini sekarang ... kita hanya perlu membuat beberapa fail kecil di bawah "Debian"Folder untuk memberikan maklumat mengenai pakej kami untuk"dpkg"Sistem.

Buka "Debian"Folder, dan buat fail berikut.

Kawalan peraturan changelog kompat 
Fail projek untuk pakej deb

kawalan: Fail ini memberikan maklumat asas mengenai pakej Debian, untuk maklumat lanjut, sila lawati bidang kawalan pakej Debian.

Sumber: MyProgram penyelenggara: nama saya <[email protected]> Bahagian: Util Keutamaan: Piawaian Pilihan-Visi: 3.9.2 Membina bergantung: debelper (> = 9), python2.7 Pakej: MyProgram Architecture: Semua Bergantung: Python-Gi Penerangan: Program saya di sini anda boleh menambah penerangan ringkas mengenai program anda. 

compat: Ini hanyalah fail penting untuk sistem DPKG, ia hanya termasuk nombor ajaib 9, biarkan seperti itu.

9 

Changelog: Di sini anda akan dapat menambah perubahan yang anda lakukan pada program anda, untuk maklumat lanjut, sila lawati Sumber Changelog Pakej Debian.

MyProgram (1.0) amanah; urgency = medium * Tambahkan ciri baru di sini. * Terus menambah perubahan baru di sini. * Dan di sini. -- Nama saya di sini <[email protected]> Sabtu, 27 Dis 2014 21:36:33 +0200 

peraturan: Fail ini bertanggungjawab untuk menjalankan proses pemasangan pada mesin tempatan untuk memasang pakej, anda boleh melihat lebih banyak maklumat
Mengenai fail ini dari sini: Peraturan lalai pakej Debian.

Walaupun anda tidak memerlukan apa -apa lagi untuk program python anda.

#!/usr/bin/make -f # Fail ini bertanggungjawab menjalankan proses pemasangan pada mesin tempatan untuk memasang pakej, anda boleh melihat lebih banyak maklumat mengenai fail ini dari sini: https: // www.Debian.org/doc/manual/maint-guide/dreq.en.html#defaultrules walaupun anda tidak memerlukan apa -apa lagi untuk program python anda. %: dh [dilindungi e -mel] override_dh_auto_install: persediaan python.PY Pasang --Root = Debian/MyProgram-Install-Layout = Deb-Install-Scripts =/usr/bin/ # Ini akan menjalankan persediaan.Fail Py Untuk memasang program sebagai skrip python pada sistem, ia juga akan memasang skrip "myprogram" di bawah/usr/bin/menggunakan pilihan-pemasangan-skrip, jangan lupa untuk menggantikan "myprogram" dengan anda dengan anda Nama program. override_dh_auto_build: 

Sekarang ini kami membuat semua fail yang diperlukan untuk program kami dengan jayanya, sekarang mari kita mulakan pembungkusannya. Pertama, pastikan anda telah memasang beberapa kebergantungan untuk proses binaan sebelum anda memulakan.

$ sudo apt-get update $ sudo apt-get install devScripts 

Sekarang bayangkan bahawa "myprogram"Folder ada di folder rumah anda (/rumah/pengguna/myprogram) Untuk membungkusnya sebagai pakej debian, jalankan arahan berikut.

$ cd/home/user/myprogram $ debuild -us -Uc 
Output sampel
[E -mel dilindungi]: ~/Projek/MyProgram $ debuild -US -UC DPKG -BuildPackage -Rfakeroot -D -US -UC DPKG -Buildpackage: Pakej Sumber MyProgram DPKG -Buildpackage: Sumber Versi 1.0 DPKG-Buildpackage: Pengedaran Sumber DPKG-BuildPackage: Sumber ditukar oleh nama saya di sini <[email protected]> dpkg-source--sebelum membina myprogram dpkg-buildpackage: arsitektur tuan rumah i386 fakeroot debian/peraturan bersih dh clean dh_testdir dh_auto_clean ... selesai berlari lintian. 

Dan itu sahaja ! Pakej Debian anda berjaya dibuat:

Pakej Debian yang dibuat

Untuk memasangnya di mana-mana pengedaran berasaskan Debian, lari.

$ sudo dpkg -i myprogram_1.0_All.Deb 

Jangan lupa untuk menggantikan fail di atas dengan nama pakej ... Sekarang selepas anda memasang pakej, anda boleh menjalankan program dari menu Aplikasi.

Program Jalankan

Dan ia akan berfungsi ..

Program yang dibungkus pertama

Di sini berakhir Ke -4 Sebahagian daripada siri kami mengenai Pygobject ... Dalam pelajaran seterusnya, kami akan menerangkan bagaimana untuk melokalkan aplikasi Pygobject dengan mudah, sehingga kemudian terus ditapis untuknya ..