|
IIBOB WXPHUTON –KUTUBXONASI VA IMKONIYATLARI
|
bet | 4/5 | Sana | 20.05.2024 | Hajmi | 0,76 Mb. | | #246961 |
Bog'liq WXPHUTON KUTUBXONASI VA IMKONIYATLARIIIBOB WXPHUTON –KUTUBXONASI VA IMKONIYATLARI
WXPHUTON kutubxonasida vidjetlar haqida tushincha
|
|
WxVidjetlarini yaratish
build.py sukut boʻyicha ikkala wxWidget va Feniksni yaratganligi uchun sizga wxWidgets kodi ham kerak boʻladi. Manba tarballlari allaqachon wxWidgets va Feniks manba kodini o'z ichiga oladi, shuning uchun agar siz manba kodining nusxasini shu tarzda olayotgan bo'lsangiz, hamma narsa tayyor. Agar siz uni GitHub'dan olayotgan bo'lsangiz, qo'shimcha qadamni bajarishingiz kerak bo'ladi. Git ombori wxWidgets kodini git "submodul" sifatida kiritish uchun sozlangan, shuning uchun Feniks omborini klonlashdan so'ng siz quyidagi buyruqlar yordamida wxWidgets manbasini olishingiz mumkin:
$ git submodule update --init --recursive
Bu wxWidgets repo-ni klonlaydi: Phoenix/ext/wxWidgets. Submodul yangilangandan so'ng, qurish skripti wxWidgets qurish imkoniyatiga ega bo'lishi kerak.
Agar siz allaqachon qurilgan va oʻrnatilgan wxWidgetlardan foydalanishni maʼqul koʻrsangiz, bu baʼzi variantlarni oʻzgartirish orqali ham mumkin, python build.py --helpbatafsil maʼlumot uchun qarang. Ammo shuni yodda tutingki, buni amalga oshirish uchun Feniks kodi bilan bir xil yoshga yaqin bo'lgan, hech bo'lmaganda e'lon qilinmagan oldindan ko'rish suratlari uchun wxWidgetlar kerak bo'ladi . Boshqacha qilib aytganda, wxWidgets tuzilishi Feniks kodi tekshirilgandan keyin bir necha kun ichida wxWidgets manba omboridagi koddan foydalanishi kerak. Hozirda Feniksning asosiy filiali wxWidgetlarning asosiy filialini kuzatib bormoqda.
Boshqa tomondan, wxPython-ga wxWidgetlarni yaratish va to'plash imkonini berish yaxshidir. Qurilish vositalari sukut boʻyicha wxWidgets-ni wxPython toʻplamining bir qismi sifatida wxPython kengaytma modullari bilan birlashtirishga imkon beradigan tarzda yaratadi, yaʼni u siz allaqachon oʻrnatgan har qanday wxWidgets kutubxonalari bilan tinchgina birga yashashi mumkin. Wx umumiy kutubxonalarining ushbu to'plami Windows, OSX va Linuxda va, ehtimol, ELF standartiga asoslangan umumiy kutubxonalardan foydalanadigan boshqa unix-ga o'xshash tizimlarda ishlaydi. Kutubxonalar shunday qurilganki, ular boshqa joyga ko'chiriladi, ya'ni wxPython kengaytma modullari tomonidan topilishi uchun ularni fayl tizimida belgilangan joyda bo'lish shart emas. Bu shuni anglatadiki, siz pipbir yoki bir nechta virtual muhitda wxPython g'ildiragini o'rnatish, wx paketini versiyali jildga ko'chirish yoki agar xohlasangiz, uni o'zingizning loyihangizga ko'chirish kabi narsalarni ikkilik fayllarni qayta tiklashga hojat qoldirmasdan bajarishingiz mumkin. (Albatta, barcha holatlarda mos keluvchi Pythonlar qo'llaniladi deb faraz qilsak.)
build.py skriptining qurish bosqichi wxWidgets va Feniks konstruktsiyalari natijalarini Feniks manba daraxtidagi wx jildiga ko'chiradi. Bu sizga Feniksni, agar xohlasangiz, uni o'rnatmasdan to'g'ridan-to'g'ri manba daraxtidan ishga tushirish va sinab ko'rish imkonini beradi. Siz shunchaki mos ravishda sozlashingiz kerak , yoki siz wxPython Phoenix qurgan papkaga ishora qiluvchi joriy Python sayt paketlari papkasida .egg-link faylidan PYTHONPATHfoydalanishingiz python setup.py developyoki o'rnatishingiz mumkin. pip install -e .Sinovni tugatganingizdan so'ng, o'rnatish yoki boshqa Python paketlari uchun odatdagidek bdist buyruqlaridan birini ishlati shingiz mumkin.
Muhim build.py buyruqlari
build.pyFeniksni noldan qurish uchun quyidagi buyruqlar talab qilinadi. Boshqacha qilib aytganda, yaratilgan kodlarning hech biri mavjud bo'lmagan toza manba daraxtidan. Ular alohida ishga tushirilishi mumkin yoki ularning barchasini bitta buyruq satrida, berilgan tartibda belgilashingiz mumkin. Buyruq build.py dasturining bir ishga tushirilishida muvaffaqiyat qozonganidan so‘ng, bu buyruqni qayta ishlashga mas’ul bo‘lgan biror narsani o‘zgartirmagan bo‘lsangiz, keyingi ishga tushirishda bu buyruqni qayta ishga tushirishning hojati yo‘q. Ko'pgina buyruqlar oldingi buyruqlar natijalarini talab qiladi, shuning uchun hech bo'lmaganda qurishni birinchi marta ishga tushirganingizda, berilgan tartibda barcha 4 ta buyruqdan (yoki kompozit buyruqlar uchun ularning ekvivalentlaridan) foydalanishingiz kerak bo'ladi.
dox : XML fayllarni wxWidgets hujjat manbasidan tuzadi, ular etg buyrug'i uchun kirish sifatida ishlatiladi.
etg : dox XML fayllaridan ma'lumot chiqaradi, olingan ma'lumotlar tuzilmalarida qo'lda yozilgan tweaker kodini ishga tushiradi va keyingi qadamlar uchun kod ishlab chiqarish uchun natijada turli generatorlarni ishga tushiradi. Ushbu bosqichdagi har bir element uchun bajariladigan kod Feniks manba daraxtidagi etg papkasida joylashgan.
sip : Bu buyruq etg buyrug'ida yaratilgan fayllarni qayta ishlaydi va wxPython Phoenix uchun Python kengaytma moduliga aylanadigan C++ kodini ishlab chiqaradi.
qurish : wxWidgets va wxPython-ni yarating. Agar siz bitta yoki boshqasini yaratmoqchi bo'lsangiz, qo'shimcha buyruqlar mavjud. Natijalar Phoenix/wx jildiga joylashtiriladi va agar kerak bo'lsa, PYTHONPATH ni o'rnatish orqali o'rnatmasdan foydalanish mumkin, shuning uchun Phoenix/wx paketi direktori Python tomonidan topiladi.
Boshqa foydali buyruqlar va variantlar quyidagilardir:
toza : build.py ning oldingi ishga tushirilishi natijasida ishlab chiqarilgan qurilish mahsulotlarini tozalang. Agar kerak bo'lsa, qurilishning faqat bir qismini tozalashga imkon beradigan qo'shimcha toza buyruqlar mavjud.
teginish : barcha etg skriptlarida vaqt tamg'asini yangilaydi, shuning uchun ularni keyingi tuzilishda ishga tushirishga majbur qiladi. Bu wxWidgets hujjatlariga oʻzgartirish kiritilgan boʻlsa foydali boʻladi, chunki uni qurish orqali targʻib qilish kerak, chunki etg buyrugʻi hali kiritishning toʻliq bogʻliqligini tekshirmaydi.
MN : Bu Python-ning Major.Minor versiya raqami bo'lib, u uchun kengaytma modullari quriladi, masalan, "3.3". Bu sizga build.py-ni siz yaratayotganingizdan boshqa Python bilan ishlatish imkonini beradi, bu boshqa versiyalar uchun tuzilmalarni ishga tushirishi kerak bo'lgan bitta Python uchun virtualenvda ishlaydigan buildbotlar kabi narsalar uchun qulay.
Agar build.py buyruq satrida MN berilgan to'g'ri Python-ni topa olmasa, siz variant bilan foydalanmoqchi bo'lgan python bajariladigan faylga to'liq yo'lni belgilashingiz mumkin --python.
test : Feniksning barcha birlik testlarini boshqaradi.
--nodoc : Ushbu parametr etg skriptlarini ishga tushirishda sfenks generatorini o'chiradi. Agar siz hujjatlarni yaratishni rejalashtirmasangiz, bu etg buyrug'ini qayta ishlashni tezlashtiradi.
python build.py --helpBu yerda ko'rsatilmagan buyruqlar va variantlar haqida ma'lumot olish uchun ning chiqishiga qarang . Va har doimgidek, agar bu hujjat va build.py skriptidagi manba kodi o'rtasida tafovut bo'lsa, u holda manba kodi to'g'ri. ;-)
build.py skripti, agar ular Feniks/bin jildida bo'lmasa, kerak bo'lganda platformangiz uchun doksigen, sip va vafni yuklab oladi. Agar platformangiz uchun ushbu vositalarning oldindan tuzilgan versiyalari mavjud boʻlmasa, build.py xato xabari bilan qutqaradi. Qurilishni davom ettirish uchun siz platformangizda ishlaydigan vositaning nusxalarini olishingiz kerak bo'ladi va keyin xato xabarida ta'riflanganidek, build.py ga muhit o'zgaruvchisi yordamida uni qaerdan topish mumkinligini aytishingiz mumkin.
Buyruqlar qatorlarini yaratishga misol
To'liq toza git ish maydonidan to'liq qurish uchun siz yuqorida sanab o'tilgan bir nechta buyruqlardan foydalanishingiz kerak bo'ladi. Masalan:
python build.py dox etg --nodoc sip build
Keyingi tuzilmalar, agar bu buyruqlarni qayta ishga tushirishni talab qiladigan o'zgarishlar bo'lmasa, ba'zi buyruqlar qoldirilishi mumkin. Misol uchun, agar siz Feniks kengaytmasi modullarini qayta tiklamoqchi bo'lsangiz, buni qilishingiz mumkin:
python build.py build_py
Agar siz etg fayllaridan birini o'zgartirgan bo'lsangiz va ushbu o'zgarishdan ta'sirlangan manbani qayta tiklashingiz va qayta qurishingiz kerak bo'lsa, quyidagi buyruqdan foydalanishingiz mumkin:
python build.py etg --nodoc sip build build_py
Loyiha katalogining tuzilishi
Ushbu katalogda juda ko'p pastki papkalar mavjud, bu erda yangi boshlanuvchilarga o'z yo'lini topishga yordam berish uchun qisqacha tushuntirish berilgan.
qurish : Qurilish jarayonida ishlab chiqarilgan oraliq fayllar shu yerda saqlanadi. Ushbu jild manba omboriga biriktirilmasligi kerak.
buildtools : Bu build.py va setup.py dan foydalaniladigan va qurishni sozlash va ishga tushirishda yordam beradigan modullarni o'z ichiga olgan Python paketidir.
etg : Bu erda "Extractor-Tweaker-Generator" skriptlari saqlanadi. Ushbu skriptlar qurilish tomonidan chaqiriladi va ular Doxygen tomonidan ishlab chiqarilgan XML fayllarini o'qiydi va SIP uchun interfeys ta'rifi fayllarini ishlab chiqaradi.
etgtools : Ushbu Python to'plami XML fayllarini tahlil qilish, tahlil qiluvchi tomonidan ishlab chiqarilgan ob'ektlar to'plamini sozlash, shuningdek, kod yoki hujjatlarni ishlab chiqarishda yordam beradigan modullarni o'z ichiga oladi.
ext : Ushbu papkada Feniks (hozirda faqat wxWidgets) tomonidan git submodullari sifatida foydalaniladigan tashqi loyihalar uchun manba saqlanadi. Bu Feniksga boshqa loyihalarda kodning o'ziga xos versiyasidan foydalanishga imkon beradi va ishlab chiquvchi kodning to'g'ri versiyasini mustaqil ravishda olishiga bog'liq emas.
|
| |