2012-04-29 392 views
12

這是一個初學者python的安裝問題。這是我第一次嘗試安裝並調用一個包。我已安裝pip,並且我嘗試安裝兩個模塊 - numpypandas已安裝的Python模塊 - Python找不到它們

在終端,我跑以下命令:

sudo pip install numpy 

sudo pip install pandas 

成功消息返回這兩個命令。這裏是pandas成功的消息(這是我安裝並仍然在我的終端歷史上第二個包):

Successfully installed pandas 
Cleaning up... 

pip回到了類似的消息被安裝numpy後。

現在,當我啓動python並嘗試把它稱爲:

import pandas 

我收到此錯誤信息:

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named pandas 

同樣的,當我嘗試numpy

誰能告訴我我做錯了什麼嗎?

+0

您正在使用的virtualenv? – alan

+0

@alan我不是。我是不是該? – mikebmassey

+0

不,不一定。但是,如果你是,你需要確保virtualenv在你的導入工作之前被激活。但是忽略我的評論,因爲它似乎並不相關。 – alan

回答

15

argh。你的道路上有兩個相同版本的蟒蛇?不要這樣做。

點,易於安裝等與特定的python安裝相關聯,並將默認使用該python。所以如果你有系統提供的python和系統提供的easy_install(或者使用系統python自己安裝easy_install),那麼easy_install默認會爲系統python安裝軟件包。

避免這種混亂的最好辦法,恕我直言,是用使用的系統蟒蛇該版本(2.7可能),對於其他版本,使用make alt-install安裝時,它會給你喜歡python3.1之類的可執行文件。如果您確實需要更換系統提供的版本,請將其卸載。

一旦你做到了。每個python將有一個獨特的名稱(以版本結尾),並且python將保持系統之一。

接下來,當您安裝easy_install時,您會注意到有版本特定的版本(例如easy_install-2.7)。使用這些。如果缺少一個,然後用適當的python安裝distutils(例如使用python3.1,您將得到easy_install-3.1)。不幸的是,每次你這樣做(iirc),你都會覆蓋未版本的easy_install,所以永遠不會使用 - 總是使用版本化版本。

或者,您無法安裝easy_install或pip用於系統版本以外的其他任何內容,則始終使用virtualenv。 virtualenv會讓你指定一個python版本(所以你可以使用系統virtualenv來安裝所有的python),然後爲你使用的python安裝easy_install/pip。所以一旦你進入虛擬環境,一切都會正常。

我剛剛意識到我對pip沒有太多經驗,所以我實際上無法幫助(除了注意virtualenv確實提供了它)(關於哪個更好:它曾經是pip更好保持;我認爲這些天最新的distutils/easy_install與pip一樣好,但pip有一些我從未使用過的功能)。

免責聲明:以上是從開發lepl的經驗,它運行在2.6到3.2,所以我需要在所有這些測試它。據我所知,我上面描述的是爲我工作的,但我對python/easy_install/pip沒有深入的瞭解,所以我可能會在合理化/描述事物時出現一些錯誤(換句話說,我正在編寫所有這些以防萬一它有幫助,但我有點擔心,我有一個錯誤 - 請,有人糾正我,如果是這樣)。

0

有了這個,我解決的問題(可以幫助你):

$ sudo apt-get install python-pandas 
$ sudo apt-get install python-numpy 
+0

你甚至可以確定OP的操作系統嗎? –