WXPHUTON kutubxonasiga Fineks manbasidagi submodellari haqida

|
WXPHUTON kutubxonasiga Fineks manbasidagi submodellari haqida
|
bet | 3/5 | Sana | 20.05.2024 | Hajmi | 0,76 Mb. | | #246961 |
Bog'liq WXPHUTON KUTUBXONASI VA IMKONIYATLARIWXPHUTON kutubxonasiga Fineks manbasidagi submodellari haqida
Git-dan foydalanib Feniks manbasini birinchi marta tekshirganingizda, git-ga quyidagi kabi submodullarni ham olishni aytishingiz kerak bo'ladi:
cd Phoenix
git submodule init
git submodule update --recursive
sip/gen : ETG skriptlari tomonidan ishlab chiqarilgan kod (.sip fayllari) ushbu jildga joylashtirilgan.
sip/cpp : SIP ishga tushirilganda ishlab chiqarilgan kod ushbu papkaga joylashtiriladi. Bu C++ manba va sarlavha fayllari, shuningdek, ishlab chiqarilgan manba fayllari haqida ma'lumotga ega bo'lgan qo'shimcha fayllar bo'ladi, shuning uchun tuzilma qanday fayllarni kompilyatsiya qilishni biladi.
sip/siplib : Bu SIP ish vaqti kutubxonasining nusxasi. Bizda o'z nusxamiz bor, shuning uchun uni wxPython konstruktsiyasiga noyob nom ( ) bilan kengaytma moduli sifatida kiritish mumkin wx.siplibva maqsadli tizimda o'rnatilgan SIP ga ish vaqtiga bog'liqlikni talab qilmaslik uchun. WxPython bilan integratsiya qilmoqchi bo'lgan uchinchi tomon kengaytmalari sip.h #includeushbu papkada bo'lishini ta'minlashi kerak.
src : Ushbu jild ba'zi bir vosita tomonidan yaratilgan emas, balki qo'lda tahrirlangan har qanday boshqa manba kodi (SIP, C++, Python yoki boshqa narsalar) uchun.
wx : Bu wxPython paketining yuqori qismidir. Joyda qurish uchun kengaytma modullari va har qanday bog'langan fayllar ushbu jildga joylashtiriladi. Ichki papkalarda wx paketining sof python subpaketlari mavjud, masalan, wx.lib va boshqalar.
Fayllarni nomlash
Ishlash kerak bo'lgan narsalarni qidirishda ishlarni biroz osonroq saqlashga yordam berish uchun Feniks loyihasidagi fayl nomlari wxWidgets interfeysi sarlavhalari jildidagi fayllar nomlarini aks ettiradi. Misol uchun, agar mavjud bo'lsa interface/wx/FOO.hva biz ushbu fayl uchun ishlab chiqarilgan XMLni qayta ishlayotgan bo'lsak, u holda sinflar va boshqa elementlar uchun ETG skripti nomlanadi etg/FOO.pyva u ishlab chiqaradi sip/gen/FOO.sip, birlik testlari ichida bo'ladi unittests/test_FOO.pyva hokazo.
Ko'pgina hollarda bitta Python kengaytmasi modulini yaratish uchun bir nechta ETG/SIP fayllaridan foydalaniladi. Bunday hollarda bitta ETG skripti barcha qolganlarini bitta kengaytma moduliga birlashtirish uchun ishlatiladi (masalan, orqa tomon gene ratorining o'z ichiga olish xususiyatidan foydalanish orqali). Bu skriptlarning nomlarida asosiy pastki chiziq bo'ladi, masalan, , etg/_core.pyva ushbu kengaytma moduliga qo'shilishi mo'ljallangan barcha skriptlar MODULE o'zgaruvchisida ushbu nomni ko'rsatishi kerak.
Old shartlar
Quyida Feniksni o'zingiz uchun qurish uchun zarur bo'lgan ba'zi maslahatlar mavjud. Bu yerda tilga olinmagan boshqa narsalar ham boʻlishi mumkin, agar aytib oʻtish kerak boʻlgan boshqa narsani topsangiz, ushbu hujjatni yangilash uchun PR yuboring.
Windows
wxWidgets va wxPython Phoenix uchun zarur bo'lgan barcha manba kodi wxWidgets va Phoenix manba daraxtlariga kiritilgan. Stok Python o'rnatilishidan tashqari sizga Visual Studio 2008 (Python2.7 mosligi uchun) yoki Visual Studio 2015 (Python 3.x qo'llab-quvvatlash uchun) nusxasi ham kerak bo'ladi. Mingw32 yordamida ham qurish mumkin bo'lishi kerak, ammo buni qo'llab-quvvatlash uchun qurish skriptlariga ba'zi o'zgarishlar kiritilishi kerak.
Windows API-ning yangi ta'riflariga ega bo'lish uchun siz MS SDK nusxasini ham olishni xohlashingiz mumkin. Men odatda Visual Studio 2008 bilan 7.0 yoki 7.1 dan foydalanaman.
Afsuski, Microsoft endi Visual Studio 2008 ni tarqatmaydi. Lekin vahima qo'ymang! Ular yaqinda "Python 2.7 uchun Microsoft Visual C++ kompilyatori" paketini taqdim etdilar, undan Python 2.7 uchun Feniksni yaratishda ham foydalanish mumkin. Bundan tashqari, bu bepul! Buni quyidagi manzildan olishingiz mumkin: http://www.microsoft.com/en-us/download/details.aspx?id=44266
Agar siz Feniks-ni disk raskadrovka ma'lumotlari bilan qurmoqchi bo'lsangiz, avval Python-ning disk raskadrovka versiyasini yaratishingiz kerak bo'ladi, so'ngra Feniks-ni qurish uchun ushbu Python (python_d.exe) dan foydalaning.
Linux
Ubuntu'da Feniksni yaratish uchun quyidagi ishlab chiqish paketlari va ularning bog'liqliklari o'rnatilishi kerak. Debianga o'xshash boshqa distroslarda ham shu yoki shunga o'xshash nomdagi paketlar mavjud bo'lishi mumkin yoki Ubuntu ning yangi versiyalari biroz rivojlangan bo'lishi mumkin va bu ro'yxatdagi o'zgarishlarni talab qilishi mumkin. Boshqa Linux distributivlari yoki boshqa unixlar uchun mos ravishda boshqa paket nomlarini ekstrapolyatsiya qiling.
dpkg-dev
qurish - muhim
python3-dev
freeglut3-dev
libgl1-mesa-dev
libglu1-mesa-dev
libgstreamer-plugins-base1.0-dev
libgtk-3-dev
libjpeg-dev
libnotify-dev
libpng-dev
libsdl2-dev
libsm-dev
libtiff-dev
libwebkit2gtk-4.0-dev
libxtst-dev
Agar siz GTK2 uchun qurayotgan bo'lsangiz, sizga ushbu paketlar va ularning bog'liqliklari ham kerak bo'ladi:
libgtk2.0-dev
libwebkitgtk-dev
Agar siz standart bo'lmagan joyda maxsus qurilgan pythondan foydalansangiz, pythonni --enable-shared opsiyasi bilan kompilyatsiya qilishingiz kerak.
Mac OSX
Windows platformasi kabi, OSX da Feniksni yaratish uchun kerak bo'lgan barcha manbalar va kutubxonalar wxWidgetlar va Feniks manba daraxtlariga yoki tizimda sukut bo'yicha kiritilgan. Bundan tashqari, sizda Xcode kompilyatori va SDK-larni, agar u mavjud bo'lmasa, https://developer.apple.com/ dan olishingiz kerak bo'ladi (bepul ro'yxatdan o'tish talab qilinadi). Xcode va OSX versiyalaringiz uchun buyruq qatori vositalarini ham o'rnatishingiz kerak. Bu odatda Xcode ichidan yoki alohida o'rnatuvchi paketi orqali amalga oshirilishi mumkin.
Shuningdek, Windows-da bo'lgani kabi, Python-ni yaratishda foydalanilgan bir xil yoki shunga o'xshash kompilyatordan foydalanish odatda narsalarning yaxshiroq ishlashiga yordam beradi va muvaffaqiyatga erishish imkoniyatini oshiradi. Masalan, Python 2.7 zaxirasi kengaytmalarni yaratishda "gcc-4.2" dan foydalanishga harakat qiladi, ammo Xcode ning yangi versiyalarida bu buyruq mavjud bo'lmasligi mumkin. Men hozirda Xcode 7.1.1 dan foydalanmoqdaman.
Agar barchasi bajarilmasa, o'zingiz o'rnatgan Xcode yordamida Python-ni o'zingiz yaratish unchalik qiyin emas va keyin Feniksni qurishda ushbu Python-dan foydalaning."
|
| |