【问题标题】:importing module in Spyder error在 Spyder 错误中导入模块
【发布时间】:2012-09-23 12:36:33
【问题描述】:

我正在尝试在 Spyder 中使用 sklearn。一开始我尝试导入它时遇到ImportError: No module named sklearn

然后我使用 PYTHONPATH 管理器设置 PATH,然后使用工具菜单中的“更新模块名称列表”。然后重新启动 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 import dataset 导入 sklearn 到 spyder 时:

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

有什么想法吗?谢谢

【问题讨论】:

    标签: python import spyder


    【解决方案1】:

    Moj,Spyder MacOS X App 使用自己的(内部)Python 解释器,而不是系统解释器。这是我们(开发人员)发现的唯一方法,它可以提供一个包含 numpy、scipy、matplotlib 和 IPython 的自包含应用程序,而不会弄乱系统 Python。

    目前我认为无法向应用添加更多包,但我们会在接下来的几个月内尝试改善这种情况。

    另一种选择(我们设想的那个)是为想要更多包的用户下载和安装最新的 EPD 并更改他们的 Python 解释器

    Tools &gt; Preferences &gt; Console &gt; Advanced Settings &gt; Python Executable

    【讨论】:

      【解决方案2】:

      我在导入 networkx 时遇到了同样的问题。将其文件夹拖放到 spyder 的文件夹中对我来说就足够了。

      【讨论】:

      • 我很高兴这对你有用,但这不是推荐的方法,因为它容易失败 ()
      • 谢谢!我已经更改了解释器,它现在也可以正常工作了:在应用程序中找到了我以前得到的所有库!但是,只是为了好奇,除了浪费内存之外,为什么要避免拖放呢?提前致谢
      • 因为您移动的目录可以包含已编译的库(即 dylib 文件),而那些仅适用于它们所属的 python 解释器。
      猜你喜欢
      • 2013-12-27
      • 1970-01-01
      • 2016-09-22
      • 2018-12-30
      • 2017-07-04
      • 2013-01-02
      • 2018-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多