【问题标题】:numpy asarray float32 works on Ubuntu but not Windows 7numpy asarray float32 适用于 Ubuntu 但不适用于 Windows 7
【发布时间】:2016-05-10 23:04:50
【问题描述】:

更新

如果需要投反对票,批评会很好。此后问题已被修改。

我按照说明here

步骤 1 和 2 已检查。我的Intel(R) Core(TM) i7-2860QM CPU @ 2.50GHz CPU 可以支持 64 位和 Intel 虚拟化技术,根据我的 BIOS,它目前正在使用虚拟化技术。检查步骤 3:我在 Ubuntu 上,所以没有防病毒软件,也没有运行任何系统级调试。现在看附图,即使我将VM设置为左侧的64位,右侧仍然是32位。

我知道这些设置仅用于组织目的,它们实际上无法更改 VM 的位数。我在这里下载了虚拟机 - https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/linux/。它们都没有标记为 64 位,所以我不知道如何保证我有一个 64 位的 Windows 映像

不过,这不是我要解决的主要问题。它被推断为我的主要问题的原因。


相同的代码适用于 Ubuntu 14.04,但不适用于 Windows 7 VM。下面你会看到我在调试,所有变量看起来都一样。

接下来,我在控制台中输入导致错误的行,果然在一个操作系统上我们没有问题,而在另一个操作系统上却崩溃了

>>> np.asarray(frames, dtype=np.float32)
    Traceback (most recent call last):
      File "C:\Program Files\JetBrains\PyCharm 2016.1.2\helpers\pydev\_pydevd_bundle\pydevd_exec.py", line 3, in Exec
        exec exp in global_vars, local_vars
      File "<input>", line 1, in <module>
      File "C:\Python27\lib\site-packages\numpy\core\numeric.py", line 482, in asarray
        return array(a, dtype, copy=False, order=order)
    MemoryError

现在是让我毛骨悚然的部分。当我从 Ubuntu 的控制台返回调试选项卡时,我看到许多新变量已自发创建,即使我只在 python 控制台中输入了一行

我认为应该是包装问题。

我在 Windows 7 VM 上使用 Python 2.7.11,并且这些软件包已安装

FITS-tools  0.0.dev0    
Pillow  3.2.0   3.2.0
Pillow-PIL  0.1.dev0    0.1dev
PyQt4   4.11.4  4.11.4
astropy 1.1.2   1.1.2
cycler  0.10.0  
image-registration  0.2.2.dev272    
matplotlib  1.5.1   1.5.1
numpy   1.11.0  1.11.0
parmap  1.2.3   1.2.3
pip 8.1.1   8.1.1
pyfits  3.4 3.4
pyparsing   2.1.1   2.1.1
pyqtgraph   0.9.10  0.9.10
python-dateutil 2.5.3   2.5.3
pytz    2016.4  2016.4
scipy   0.17.0  0.17.0
setuptools  20.10.1 21.0.0
six 1.10.0  1.10.0
wheel   0.29.0  0.29.0

在 Ubuntu 上 - 令我惊讶的是 - 我使用的是 Python 2.7.6(由于某种原因,当我尝试升级到 2.7.11 时,我得到了 make: *** [libinstall] Error 1,但这是另一个问题)。这是我在工作 Ubuntu 端安装的软件包

BeautifulSoup   3.2.1   3.2.1
CherryPy    3.2.2   5.3.0
Cython  0.22    0.24
Django  1.9.1   1.9.6
Markdown    2.4 2.6.6
PAM 0.4.2   
Pillow  2.3.0   3.2.0
PyOpenGL    3.0.2   3.1.1a1
Pygments    1.6 2.1.3
Routes  2.0 2.3.1
Twisted-Core    13.2.0  
Twisted-Web 13.2.0  
VTK 5.8.0   
WebOb   1.3.1   1.6.0
adium-theme-ubuntu  0.3.4   
amqplib 1.0.2   1.0.2
apptools    4.3.0   4.4.0
apsw    3.8.2-r1    3.9.2-r1
apt-xapian-index    0.45    
argparse    1.2.1   1.4.0
astropy 1.1.2   1.1.2
cffi    0.8.6   1.6.0
chardet 2.0.1   2.3.0
colorama    0.2.5   0.3.7
command-not-found   0.3 
configobj   5.0.6   5.0.6
cssselect   0.9.1   0.9.1
cssutils    0.9.10  1.0.1
debtagshw   0.1 
defer   1.0.6   1.0.4
deluge  1.3.6   
dirspec 13.10   13.08
dnspython   1.11.1  1.12.0
duplicity   0.6.23  
envisage    4.1.0   4.5.1
feedparser  5.1.3   5.2.1
h5py    2.2.1   2.6.0
html5lib    0.999   0.9999999
httplib2    0.8 0.9.2
image-registration  0.2.2.dev272    
ipython 3.1.0   4.2.0
libtfr  1.0.4   2.0.0b4
lockfile    0.8 0.12.2
lxml    3.3.3   3.6.0
matplotlib  1.4.3   1.5.1
mayavi  4.4.3   4.4.4
mechanize   0.2.5   0.2.5
mock    1.0.1   2.0.0
netifaces   0.8 0.10.4
nose    1.3.7   1.3.7
numexpr 2.2.2   2.5.2
numpy   1.9.2   1.11.0
oauthlib    0.6.1   1.1.1
oneconf 0.3.7.14.04.1   0.0.1.dev0
pandas  0.16.1  0.18.1
parmap  1.2.3   1.2.3
pexpect 3.1 4.0.1
pip 1.5.4   8.1.1
piston-mini-client  0.7.5   0.7.5
plotly  1.6.17  1.9.10
ply 3.4 3.8
py  1.4.31  1.4.31
pyFFTW  0.9.2   0.10.1
pyOpenSSL   0.13    16.0.0
pycparser   2.10    2.14
pycrypto    2.6.1   2.6.1
pycups  1.9.66  1.9.73
pyface  5.0.0   5.1.0
pygame  1.9.1release    
pygobject   3.12.0  
pygpgme 0.3 0.3
pyparsing   2.0.3   2.1.1
pyqtgraph   0.9.10  0.9.10
pyserial    2.6 3.0.1
pysmbc  1.0.14.1    1.0.15.5
pytest  2.9.1   2.9.1
python-apt  0.9.3.5ubuntu2  0.7.8
python-dateutil 2.4.2   2.5.3
python-debian   0.1.21-nmu2ubuntu2  0.1.23
python-libtorrent   0.16.13 1.1.0
pytz    2015.4  2016.4
pyxdg   0.25    0.25
pyzmq   14.7.0  15.2.0
reportlab   3.0 3.3.0
repoze.lru  0.6 0.6
requests    2.2.1   2.10.0
scikit-learn    0.17.1  0.17.1
scipy   0.15.1  0.17.0
sessioninstaller    0.0.0   
setuptools  3.3 21.0.0
simplejson  3.7.3   3.8.2
six 1.5.2   1.10.0
sklearn 0.0 0.0
software-center-aptd-plugins    0.0.0   
system-service  0.1.6   
tables  3.1.1   3.2.2
traits  4.5.0   4.5.0
traitsui    5.0.0   5.1.0
uTidylib    0.2 0.2
unity-lens-photos   1.0 
urllib3 1.7.1   1.15.1
vboxapi 1.0 1.0
wheel   0.24.0  0.29.0
wsgiref 0.1.2   0.1.2
wxPython    2.8.12.1    2.9.1.1
wxPython-common 2.8.12.1    2.6.3.3
xdiagnose   3.6.3build2 
xppy    0.7.0   
zope.interface  4.0.5   4.1.3

【问题讨论】:

    标签: python windows ubuntu numpy virtual-machine


    【解决方案1】:

    您遇到了 MemoryError。表示您请求的分配超出了 VM 上的可用内存。一些潜在的原因:

    • 没有为 VM 分配足够的内存(尝试增加它)
    • Windows 上的进程限制为 2GB(运行 LARGEADDRESSAWARE python 或移动到 64 位)
    • 内存损坏导致堆损坏(调试代码)

    类似讨论Memory errors and list limits?

    【讨论】:

    • 对建议 1+2:我想要但一直限制在 4GB,因为 VM 是 32 位的,所以我想要一个 64 位的 VM。今天是我使用虚拟机的第一天,请原谅我的无知,但是与 VirtualBox 一起工作的所有 64 位虚拟机在哪里?这些“官方”的似乎都不是 64 位的。 developer.microsoft.com/en-us/microsoft-edge/tools/vms/linux 对于您的建议 3:您能否详细说明内存损坏是如何发生的,以至于对于相同的代码,当代码在 Ubuntu 上运行时不会发生,但在 Windows 上会发生?谢谢
    • @DirkHaupt 我通常从osboxes.org 下载 64 位 Linux 虚拟机,我不知道从哪里获得 64 位 Windows 虚拟机,我自己正在运行 windows 主机和 linux 虚拟机。跨度>
    • @DirkHaupt 关于 3,系统有完全不同的方式来进行堆分配。如果您在一个系统上损坏了堆,它可能会在另一个系统上被忽视。但我会专注于首先尝试使用 64 位 python
    • 好的,所以我放弃了尝试寻找 64 位 VM。我在 64 位机器上设置了所有内容,现在它可以正常工作了...如果有人可以添加我们可以找到 64 位 Windows VM 的位置,这仍然会很有帮助,谢谢。
    猜你喜欢
    • 2015-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-04
    • 1970-01-01
    • 2013-12-02
    • 1970-01-01
    相关资源
    最近更新 更多