您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python程序開(kāi)發(fā)問(wèn)題舉例分析”,在日常操作中,相信很多人在Python程序開(kāi)發(fā)問(wèn)題舉例分析問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Python程序開(kāi)發(fā)問(wèn)題舉例分析”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
由于個(gè)人對(duì)ubuntu的偏愛(ài)和熟悉,下面的開(kāi)發(fā)過(guò)程無(wú)論主機(jī)環(huán)境還是moblin的平臺(tái)都采用的是ubuntu,然而,moblin 2.0貌似不再使用ubuntu,而僅支持fedora,不知何故。啟動(dòng)MIC,Platform選擇memlow-lpia-ubuntu-hardy,target選擇ububtu-mobile,自動(dòng)生成即可,等待的時(shí)間那叫一個(gè)長(zhǎng)啊。
這也是工具的好與不好,之前敲命令,交叉編譯了Gnome Mobile框架的幾乎所有模塊,吃盡了苦頭,但不至于閑著沒(méi)事干;而由工具自動(dòng)生成呢,清閑了很多,也不太關(guān)心編譯的細(xì)節(jié)。
就是盼著趕快編完,好做測(cè)試。接下來(lái),生成Image文件,選擇Live RW USB。此時(shí)以為大功告成了,點(diǎn)擊Launch VM,沒(méi)有反應(yīng)...郁悶阿。Google,運(yùn)行KVM需要CPU支持Intel VT才行,手頭又沒(méi)有MID,那就試試Qemu吧。
把編成的映象文件(Launch VM時(shí)選擇的文件)直接扔給Qemu,結(jié)果“checking device /dev/sda for installation source...”,問(wèn)題出在哪呢。把映象文件掛到本地也沒(méi)有看出個(gè)所以然,其實(shí),Qemu無(wú)法直接跑出畫面也在預(yù)料之中(此處Qemu的使用可能存在問(wèn)題 qemu -hda moblin.img)。
由于內(nèi)核、文件系統(tǒng)由MIC生成,使得很多處理的細(xì)節(jié)無(wú)法得知,但編譯的文件總是存在的吧,我想完全可以根據(jù)MIC生成的文件來(lái)創(chuàng)建Qemu仿真所需的文件。linux啟動(dòng)過(guò)程一切順利,提示輸入用戶名和密碼...再次掛載根文件系統(tǒng)1G.img,刪掉shadow?還是用文明一點(diǎn)的辦法吧,拷貝本機(jī)/etc/shadow到${Mount Dir}/etc。
再次啟動(dòng),得到了shell,可還是沒(méi)有圖形界面(如果MID需要手工啟動(dòng)X,感覺(jué)有點(diǎn)多此一舉,問(wèn)題可能出在配置上,沒(méi)有深究,跑起X再說(shuō))。沒(méi)有/etc/init.d/gdm,還是startx吧,令人沮喪的事再次發(fā)生,“(EE):no valid modes found”。沒(méi)辦法,只能再次掛載根文件系統(tǒng)。
添加Modes “800x480”(僅僅是我添加的模式,不知是否支持其他)。總算見(jiàn)到畫面了,也許是費(fèi)了些周折的緣故吧,覺(jué)得Moblin的界面還是很漂亮的。使用同樣的方法,可以用Qemu對(duì)其他Platform進(jìn)行仿真(沒(méi)有一一驗(yàn)證,測(cè)試過(guò)netbook-lpia-moblin2)。
之所以選擇Python,首先,易于移植,Python解釋器把源代碼轉(zhuǎn)換成字節(jié)碼,然后再把它翻譯成機(jī)器語(yǔ)言并運(yùn)行。不需要擔(dān)心如何編譯程序,如何連接到正確的庫(kù)等等,只需要把Python程序拷貝到目標(biāo)機(jī)上,它就可以工作了;
其次,最近一直在寫Python,覺(jué)得它可以快速地把想法變成現(xiàn)實(shí),就懶得用C了;***呢,Python是一種極其流行的解釋性語(yǔ)言,我們可以看到在Gnome Mobile的原型中也保留了Python的編程接口。
class Category(models.Model): id = models.AutoField('id', primary_key=True) name = models.CharField(maxlength=50) code = models.CharField(maxlength=50) parentCategory = models.ForeignKey('self', 'id', null=True) enable = models.BooleanField() def __str__(self): return self.name class Admin: list_display = ('id', 'name', 'code', 'parentCategory')
Python提供了系統(tǒng)調(diào)用、線程、GTK等模塊,可以利用它搭建原型,驗(yàn)證想法的可行性,當(dāng)然,它也可以極其方便的應(yīng)用到Moblin平臺(tái)的開(kāi)發(fā)。開(kāi)發(fā)應(yīng)用程序之前,配置環(huán)境必不可少,毫無(wú)疑問(wèn),使用的工具是 Moblin Image Creator,需要保證所需的工具以及庫(kù)已經(jīng)安裝。
包括Python,核心的模塊(python-dbus python-gtk2 python-hildon),由于之前選擇的平臺(tái)是ubuntu,只需要用apt-get就可以輕松的安裝這些包了。此時(shí),在moblin上開(kāi)發(fā)Python的環(huán)境以及基本建成了。接下來(lái),在桌面上創(chuàng)建圖標(biāo),并啟動(dòng)相應(yīng)的Python程序,毫無(wú)疑問(wèn)是Hello World。
到此,關(guān)于“Python程序開(kāi)發(fā)問(wèn)題舉例分析”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。