2014-09-21 163 views
7

我跟着these instructions在我的Ubuntu機器上設置GraphLab。最後,我打開Python 2.7.6並運行第一條測試線import graphlab as gl。這給了我GraphLab創建「ImportError:No module named graphlab」

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

我該如何開始診斷?

詳情:

我跑python -V從終端,並返回我Python 2.7.6

/usr/bin我發現下面的pyth*項...我不知道如果事情在錯誤的版本某處指出:

python  python2.7-config python3.4 python-config 
python2 python2-config python3.4m pythontex 
python2.7 python3   python3m pythontex3 

回答

1

檢查你的系統路徑

進口SYS 打印sys.path的

它應該包含graphlab-0.9.1。如果沒有,那麼我們的安裝有些奇怪。我建議在python中使用虛擬環境。

+0

「import sys print sys.path」在Linux終端中輸入時不會返回任何內容...尋求替代方法,我在Python控制檯中將它作爲兩個單獨的命令輸入; (1)「導入sys」,(2)「print sys.path」。我想這就是你的意思,因爲它返回了有趣的結果。確實,它們都沒有包含「graphlab」。 – zkurtz 2014-09-27 12:23:20

2

也許你應該在virtualenv中安裝graphlab。

1.確保您的系統已安裝virtualenv。要驗證,請執行pip freeze。要安裝,請在繼續執行之前在您的終端中執行sudo pip install virtualenv

2.在終端中複製並執行以下命令。這將創建一個名爲「graphlab」虛擬環境和安裝graphlab創建版本0.9.1

virtualenv graphlab 
. graphlab/bin/activate 
pip install graphlab-create==0.9.1 
+0

+1「替代」解決方案...我必須瞭解'virtualenv'。 – zkurtz 2014-09-28 17:57:08

5

另一種選擇是使用virtualenvwrapper輕鬆地創建和虛擬環境中的應用。例如,下面的this documentation,開始安裝:

sudo pip install virtualenvwrapper 

打開.bashrc設置文件,例如運行gedit .bashrc及以下行追加到它的底部:

export WORKON_HOME=$HOME/.virtualenvs 
export PROJECT_HOME=$HOME/Devel 
source /usr/local/bin/virtualenvwrapper.sh 

重新啓動終端窗口,然後你就可以讓你的虛擬環境中,比如把它稱爲「試驗」:

mkvirtualenv test 

現在測試是一個虛擬的環境,你在裏面(即test目前是「激活」)。爲了把GraphLab在test

pip install graphlab-create 

同樣,您可以通過使用pip安裝在test其他Python的工具包,並從test中運行任何Python程序將能夠只看到這裏安裝了Python的工具包。

+0

爲我工作。謝謝你的解釋:) – 2015-05-11 02:46:38

+0

謝謝zkurtz,這些說明很好。 – 2016-05-02 02:30:41

2

您可能需要通過運行

source activate dato-env

終端

8

內的拿督Graphlab創建安裝在我的Mac(酋長)實際上並沒有安裝graphlab激活暢達ENV。我在終端窗口中執行了以下操作(安裝了Anaconda):

% pip install graphlab-create 

隨後安裝了Graphlab Create。然後,您可以很容易地驗證:

% python 
Python 2.7.10 |Continuum Analytics, Inc.| (default, Sep 15 2015, 14:29:08) 
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
Anaconda is brought to you by Continuum Analytics. 
Please check out: http://continuum.io/thanks and https://anaconda.org 
>>> import graphlab 
>>> 

我注意到,偶爾,Python會忘記Graphlab創建安裝。重複上述「點子」命令會使其記住。

0

如果你沒有看到graphlab,只是環境的路徑未設置的「拿督-ENV」

如果(相反,它可能會在「根」設置)你使用「啓動器」應用程序,在左上角設置「環境」到「dato-env」。

+0

請詳細說明你的答案。 – 2016-03-05 10:11:16

1

我在ubuntu 16桌面上遇到了同樣的問題。我的解決方案非常簡單。使用後啓動筆記本電腦

(gl-env) [email protected]:~/progs/ml-foundations$ jupyter notebook 

單擊文件導航器以找到您的筆記本電腦所在的導入錯誤的導入graphlab。當它啓動筆記本時,我想你會看到| Python [Root]在右上角。要解決這個問題,點擊標題欄Kernel-> Change kernel-> gl-env。現在右上角的標籤應該說| Python [gl-env]。之後當你運行筆記本時,會導入graphlab工作。

在Conda的Jupyter UI的首頁登陸頁面上有一個選項卡。在這裏你可以看到兩個env的root和gl-env。我試圖刪除根目錄,即使它不是默認的所有我的筆記本啓動該環境,並刪除它會導致內部錯誤。

0

好吧,我猜測線程已經死機。

經過幾次重複安裝之後,我可以讓「import graphlab」可靠工作的唯一方法是手動激活dato-env。 打開下面的命令終端和類型

source activate dato-env 

在此之前關閉所有的jupyter筆記本。我確定,當我的bash提示改變時,dato-env有效:(dato-env) [email protected]:~$

現在在你的Jupyter筆記本上嘗試做import graphlab,這將會執行而不顯示導入錯誤。

希望這有助於!