【问题标题】:Memory error only in Spyder IDE仅在 Spyder IDE 中出现内存错误
【发布时间】:2014-09-22 19:43:38
【问题描述】:

执行以下操作会在我的 Spyder Python IDE 中导致 MemoryError:

>>> from numpy  import *
>>> a_flt = ones((7000,7000), dtype=float64)+4
>>> b_flt = ones((7000,7000), dtype=float64)+1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>    
MemoryError
>>> 

这很奇怪,因为 Spyder 状态栏中的内存使用情况显示只有大约。我使用了 25% 的内存。此外,当在标准 Python IDE GUI 中生成更多数量的大型 7000*7000 数组时,一切正常。

>>> from numpy  import *
>>> a_flt = ones((7000,7000), dtype=float64)+4
>>> b_flt = ones((7000,7000), dtype=float64)+1
>>> c_flt = ones((7000,7000), dtype=float64)+1
>>> d_flt = ones((7000,7000), dtype=float64)+1
>>> e_flt = ones((7000,7000), dtype=float64)+1 

即使创建了 5 个浮点数组,内存需求也仅占我总内存 16GB 的三分之一左右。所以这不可能是一个真正的内存问题。我在 spyder google 组https://groups.google.com/forum/#!msg/spyderlib/qE9tiriT91s/0x3s2Aw-efMJ 中发现了一个关于这个问题的类似问题,但是没有提供答案。如果有人可以帮助我解决这种自相矛盾的情况,那就太好了。 提前致谢,
帕特里克

【问题讨论】:

  • 我无法在使用 Spyder 2.3.0 的 Debian Linux 上重现您的问题。
  • (Spyder dev here) 你的 Spyder 版本是多少?和您的平台(Windows、Linux、Mac)?
  • @Carlos Cordoba:我的 Spyder 版本是 2.2.5。我正在使用 Windows 7
  • 现在我在 Windows 上使用 Python 2.7.6 32bits、Qt 4.8.4、PyQt4 (APIv2) 4.9.6 将 Spyder 更新到了 2.3.1 版本,即使在尝试创建第一个包含 7000*7000 个浮点元素的数组 (a_flt)!这里完全有问题!
  • 32 位 Python?你永远不会达到 16GB,你受到 4GB 可寻址内存的限制。

标签: python memory-management out-of-memory spyder


【解决方案1】:

安装 64 位版本的 Python 和 Spyder。这消除了我这个错误。

【讨论】:

    猜你喜欢
    • 2016-02-24
    • 2016-05-25
    • 2020-06-29
    • 2017-02-21
    • 2020-06-29
    • 2022-11-22
    • 2012-05-15
    • 2021-11-29
    相关资源
    最近更新 更多