2012-10-02 65 views
2

我想在Spyder中使用sklearn。在当我试图导入我gettingImportError开头:无模块名为sklearn在Spyder中导入模块错误

然后我绑与PYTHONPATH管理器从工具中设定的路径,然后使用“更新模块名称列表” menu.then重启spydet但没有成功。

末我复制了sklearn文件夹/Applications/Spyder.app/Contents/Resources/lib/python2.7

我这是怎么找到sklearn的路径和复制在到这个文件夹:

>>> import sklearn 
>>> sklearn 
<module 'sklearn' from '/Library/Python/2.7/site-packages/scikit_learn-0.12_git-py2.7-macosx-10.7-intel.egg/sklearn/__init__.pyc'> 
>>> 

,然后我cd到父文件夹:

cp -r sklearn /Applications/Spyder.app/Contents/Resources/lib/python2.7 

但是当我尝试到sklearn导入到Spyder的像sklearn import dataset

Traceback (most recent call last): 
    File "/Users/mohsenjadidi/Documents/workspace/dsv/test.py", line 10, in <module> 
    from sklearn import dataset 
    File "/Applications/Spyder.app/Contents/Resources/lib/python2.7/sklearn/__init__.py", line 17, in <module> 
    from .base import clone 
    File "/Applications/Spyder.app/Contents/Resources/lib/python2.7/sklearn/base.py", line 11, in <module> 
    from .metrics import r2_score 
    File "/Applications/Spyder.app/Contents/Resources/lib/python2.7/sklearn/metrics/__init__.py", line 6, in <module> 
    from .metrics import confusion_matrix, roc_curve, auc, precision_score, \ 
    File "/Applications/Spyder.app/Contents/Resources/lib/python2.7/sklearn/metrics/metrics.py", line 17, in <module> 
    from ..utils import check_arrays 
    File "/Applications/Spyder.app/Contents/Resources/lib/python2.7/sklearn/utils/__init__.py", line 9, in <module> 
    from .murmurhash import murmurhash3_32 
    File "numpy.pxd", line 151, in init sklearn.utils.murmurhash (sklearn/utils/murmurhash.c:4773) 
ValueError: numpy.dtype has the wrong size, try recompiling 

任何想法?谢谢

回答

3

Moj,Spyder的MacOS X的应用程序使用它自己的(内部)Python解释器,而不是系统中的一个。这是我们(开发人员)发现用numpy,scipy,matplotlib和IPython提供独立应用程序的唯一方式,而不会与系统Python搞混。

现在我认为没有办法将更多软件包添加到应用程序中,但我们会在接下来的几个月内尝试改善这种情况。

另一种方法(我们所设想的一个)是谁想要更多的包在

Tools > Preferences > Console > Advanced Settings > Python Executable

0

我面临同样的问题,进口networkx下载并安装最新的EPD而改变自己的Python解释器的用户。将其文件夹拖放到Spyder的文件夹中就足够了。

+0

我很高兴这对你有效,但这不是推荐的方式,因为它很容易失败() –

+0

谢谢!我已经改变了解释器,它现在也工作得很好:在应用程序内发现了我以前得到的所有库!但是,仅仅为了好奇,除了浪费内存之外,为什么应该避免拖放?在此先感谢 –

+0

因为您移动的目录可以包含已编译的库(即dylib文件),而那些仅适用于它们所属的Python解释器。 –