2016-06-10 29 views
0

當我嘗試運行一個python腳本時,我得到Illegal instruction就是這樣,它沒有提供任何更多細節,所以我不知道發生了什麼,有沒有辦法找出什麼導致Illegal instruction錯誤? 另外,我運行代碼使用sudo我沒有得到任何輸出,程序剛剛退出。Python在樹莓派上的非法指令零

UPDATE:

我跑的腳本是在bluez的腳本simple-agenthttps://github.com/pauloborges/bluez/blob/master/test/simple-agent

而且,我通過線跑線像@buratino說,我得到了在第二行中的錯誤:

from gi.repository import GObject

+0

您是否嘗試過在解釋器中運行腳本的說明? – buratino

+0

我運行了兩種方式:'。/ script'和'python script',結果相同。 – raulsntos

+0

我應該更清楚。嘗試運行'/ usr/bin/python3'(或者你想運行的任何版本)。解釋器啓動後,您可以逐個輸入並測試腳本的說明。如果這沒有產生任何結果,也許你可以添加腳本到你的問題。 – buratino

回答

0

@Notlikethat說,日當正在執行的代碼針對不同的體系結構進行編譯時,e Illegal instruction錯誤發生,Raspberry Pi使用ARM。

這就是說,我發現GObject似乎是造成這個問題。無論如何,我卸載了我安裝的每個藍牙相關軟件包,並使用raspbian存儲庫重新安裝它們,現在Illegal instruction消失,腳本正確執行。

爲什麼會發生這種情況?嗯,我有一個Raspberry Pi零,這意味着我沒有以太網端口,在我買了一個WiFi加密狗之前,我安裝了幾個軟件包,將它們下載到我的電腦上,並將.deb存儲在SD卡中,當然這意味着我必須手動檢查我是否正在下載正確版本的軟件包,我一定會搞砸其中的一個。

經驗教訓,千萬不要試圖手動安裝包,讓apt-get做所有的工作!

+1

對於我而言,手動下載和安裝軟件包通常比使用apt-get更受歡迎。我認爲一個更好的教訓是確保你正在下載和安裝什麼。 – buratino