2012-05-23 239 views
30

我設法讓我的Mac上安裝spyder並運行,但我想添加一些默認不包含的模塊(mahotas和pymorph) 。添加一個模塊(特別是pymorph)到Spyder(Python IDE)

我通過easy_install在終端安裝了兩者,兩者似乎都沒有任何錯誤消息安裝。從終端運行python並使用import mahotasimport pymorph工作得很好,沒有錯誤信息。然而,當我從腳本的Spyder中運行相同的路線,我得到了以下錯誤:

Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/spyderlib/widgets/externalshell/sitecustomize.py", line 493, in runfile 
execfile(filename, namespace) 
File "/Users/Name/Documents/Python/dna.py", line 11, in <module> 
import pymorph 
ImportError: No module named pymorph 

所有我想現在要做的就是運行導入線,僅此而已。我似乎無法找到任何有關此事的信息。我猜spyder使用單獨安裝的python,並且通過終端安裝模塊只將它們安裝到系統版本的python。我如何將它們添加到Spyder?

規格:

的Mac OSX 10.7.4

Spyder的2.1.9

回答

63

好,還沒有人回答,但我設法弄清楚並得到它後也工作張貼在Spyder討論板上。對於任何想要添加但未包含在Spyder的默認搜索路徑中的庫,您需要進入工具,並通過PYTHONPATH管理器爲每個庫添加一個路徑到。然後,您需要更新同一菜單中的模塊名稱列表,並在更改生效之前重新啓動Spyder。

+8

謝謝 - 爲我工作。但是,您也不需要重新啓動Spyder,只需關閉解釋器,然後右鍵單擊並選擇「打開解釋器」即可重新啓動python解釋器。新的路徑被使用。 –

+1

一旦你實現了這個解決方案,看起來調用ibpy EReader文件的任何東西都可能在第29行失敗,並且出現'SyntaxError:can not assign to None'。如果你得到這個刪除或註釋'None'。 [參考](https://code.google.com/p/ibpy/issues/detail?id=16) – zelusp

+0

在菜單Spyder/PYTONPATH Manager下 –

16
  1. 查找模塊的位置,在終端:

    $ python # open python 
    
    import pygame # import a module 
    
    pygame # get the location 
    
  2. 複製粘貼的模塊文件夾到 'Spyder.app/Contents/Resources/lib/python2.7'

  3. 重新開張Spyder.app

2

您可以添加標準的安裝位置到PYTHONPATH人幾歲。這樣你就不需要爲每個模塊添加一個特定的路徑。僅用於更新模塊名稱。

在Unix上這個位置通常是:

/usr/local/lib/pythonX.Y/site-packages

在Windows上:

C:\PythonXY\Lib\site-packages

the modules install Documentation.

2

我嘗試添加的seaborn模塊中的Spyder時所面臨的同樣的問題。我在Ubuntu 14.04中將seaborn安裝到了我的anaconda目錄中。如果我添加了包含'seaborn'和seaborn-0.5.1-py2.7.egg-info文件夾的整個anaconda/lib/python2.7/site-packages /目錄,seaborn模塊會加載。問題是這個anaconda site-packages文件夾還包含許多Spyder不喜歡的其他模塊。

我的解決方案: 我在我的個人主文件夾中創建了一個新的目錄,我將其命名爲「spyderlibs」,其中放置了seaborn和seaborn-0.5.1-py2.7.egg-info文件夾。在Spyder的PYTHONPATH管理器中添加我的新spyderlib目錄工作!

+0

我很抱歉對一箇舊的回答發表評論,但我今天有Spyder和seaborn這個確切的問題,而且沒有除了你的網站,任何網站上的答案都是唯一的。所以謝謝。 –

+0

作爲我以前評論的補充(我希望你看到這個!)你是如何解決spyder解釋器現在將seaborn的__init__.py當作是我試圖使用的__init__.py的__init__.py的問題?在這種情況下,它打破了mpfit和其他一些事情。你有沒有找到另一種解決方案? –

+0

我很高興它在某種程度上起作用。我不記得運行init.py的問題,所以我不知道該推薦什麼。我最近安裝了一個新的操作系統和新安裝的python 2.7,anaconda和spyder。現在seaborn奇蹟般地從一個新的conda命令行安裝 - 不再需要上面提到的解決方法。 – Guy

24

在Spyder的IPython控制檯上使用!可讓您使用pip。所以,在這個例子中,你可以做:

[1] !pip install pymorph 

注意,這也是可用的(儘管可能不可靠)Python的控制檯前〜2.3.3版本的Spyder上。感謝@CarlosCordoba的澄清。

+0

看來你正在使用舊的Spyder版本。此功能在某些版本之前被刪除(我認爲在2.3.3中)。但是,類似的東西仍然可以在IPython控制檯上使用。 –

+0

@CarlosCordoba啊,好的。我使用的是2.2.5版本。很遺憾,它被刪除了 - 仍然是一個偉大的IDE,但:-) – atomh33ls

+0

我們必須從我們的* Python *控制檯中刪除它,因爲它在所有情況下都無法可靠地工作(例如,它在調試時出現問題)。但是,正如我所說的,你可以在我們的* IPython *控制檯中運行完全相同的命令,它會工作得很好:-) –

7

如果您在蟒蛇包使用Spyder的...

在IPython的控制檯,使用

!conda install packageName 

局部過這個工程。

!conda install /path/to/package.tar 

注意!在Spyder中使用IPython控制檯時是必需的。

0

人們也可以遵循以下步驟: '!' Spyder的 - >工具 - - >打開命令提示符>寫命令 「PIP安裝html5lib」

0

只是使用這將是罰款

如在Spyder的終端畫中畫命令前:

!pip install imutils