2012-01-26 93 views
0

好吧我是較新的python,並一直在研究這個問題,但我找不到像這樣的東西,所以我不知道發生了什麼事情。Python導入錯誤與Sage

我正在創建一個涉及聖人的程序,它有一個消息提示。我們在開發機器上安裝了這個軟件,所以我知道它可行,但我想將它安裝在自己的計算機上,這樣我就可以更好地瞭解它是如何工作的,並使其更容易爲自己開發。

要啓動聖人,我們運行一個腳本,調用sages主二進制文件並將其傳遞給一個可執行文件.py文件。 (./sage/sage ./sage_server.py)這在sage_server.py文件創建錯誤:

Traceback (most recent call last): 
    File "./sage_server.py", line 23, in <module> 
    from carrot.messaging import Publisher 
ImportError: No module named carrot.messaging 

但每當我運行該文件只是在終端(./sage_server)導入工作正常,直到第27行,它纔會嘗試從sage中導入某些內容時出現錯誤。

有沒有人知道當被其他東西調用時會導致錯誤?我很遺憾,究竟是什麼導致了這一點。

+0

該模塊是否已安裝在您的系統Python中? Sage擁有自己的Python環境,因此您需要在其中安裝所需的任何模塊(如果可能的話 - 我不使用Sage)。 –

回答

1

Sage有自己的python,與系統庫分開。這個「胡蘿蔔」模塊,無論它是什麼,都必須安裝在任何python ./sage_server.py使用,但不是在賢者。

您應該能夠爲使用

[your-sage] -sh 

啓動一個聖人外殼,並使用easy_install的,或者你可以讓你使用任何紅髮的包,找到它的setup.py文件,然後運行

[your-sage] -python setup.py install 

明顯你的聖人是你的聖人之路。

如果安裝過程不是基於setup.py的話,事情會變得有點棘手。

+0

非常感謝,解決了我的問題!我甚至沒有想過使用自己的Python的聖人的可能性,但現在我知道了。再次感謝!!! – user1172032