【问题标题】:runtime error when using sklearn in python3.2 (works fine in python 2.7) - how to fix it?在 python3.2 中使用 sklearn 时出现运行时错误(在 python 2.7 中运行良好) - 如何修复它?
【发布时间】:2014-08-20 04:02:29
【问题描述】:

我正在尝试学习 sklearn,但在运行 import sklearn 时遇到以下错误。但是,当我使用 python 2.7 运行完全相同的代码时,我没有遇到任何错误。

    import sklearn
  File "/usr/local/lib/python3.2/dist-packages/sklearn/__init__.py", line 38, in <module>
    from .base import clone
  File "/usr/local/lib/python3.2/dist-packages/sklearn/base.py", line 10, in <module>
    from scipy import sparse
  File "/usr/lib/python3/dist-packages/scipy/__init__.py", line 124, in <module>
    pkgload(verbose=SCIPY_IMPORT_VERBOSE,postpone=True)
  File "/usr/local/lib/python3.2/dist-packages/numpy/_import_tools.py", line 177, in __call__
    for package_name in self._get_sorted_names():
  File "/usr/local/lib/python3.2/dist-packages/numpy/_import_tools.py", line 114, in _get_sorted_names
    for name in depend_dict.keys():
RuntimeError: dictionary changed size during iteration

我做了一些谷歌搜索并按照以下链接中的说明运行sudo pip3 install git+https://github.com/scikit-learn/scikit-learn.git。安装很顺利,但是,我继续收到错误。

https://askubuntu.com/questions/449326/installation-error-in-sklearn-for-python3

如何解决这个问题。 (除了使用 Python2.7)

【问题讨论】:

  • 你能更新到 python 3.4 吗?
  • 我没有投反对票,我只是在问你,但没关系我看到 3.4 也有问题。
  • 好吧,投反对票的人都疯了。你对如何解决这个问题有什么建议吗?
  • 如果你从 python3 shell import numpy numpy.__version__ 得到什么
  • 那么问题不是 numpy,你为什么不能升级到 python 3.4?从 git 安装,因为你可以使用 python 3.4,你还需要 scipy

标签: python numpy scikit-learn


【解决方案1】:

这是一个错误,将在下一个 NumPy (v 1.9.0) 版本中修复:

https://github.com/numpy/numpy/commit/5025c40965fa5fb2b591f07c152b966dc7b730f0

github 上已经有一个可用的补丁,但它还没有被捆绑到补丁版本中。您的选择:

  1. 等待 1.9.0 版本修复 Python 3,同时使用 Python 2。
  2. 只需对我提供给当前 Numpy 版本的链接中的两行进行相同的更改
  3. 安装 Numpy 1.9.0 测试版。

【讨论】:

  • numpy 的哪个版本有问题?
  • 我不确定。我只知道他们刚刚意识到这一点。
  • 我在哪里应用更改?
  • 就在堆栈跟踪中:/usr/local/lib/python3.2/dist-packages/numpy/_import_tools.py
  • 所以这是特定于 python
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多