内存错误PIP安装Matplotlib
我使用Python 2.7,如果我尝试安装,如果我用“画中画安装matplotlib”内存错误PIP安装Matplotlib
Exception:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/pip/basecommand.py", line 232, in main
status = self.run(options, args)
File "/usr/local/lib/python2.7/dist-packages/pip/commands/install.py", line 339, in run
requirement_set.prepare_files(finder)
File "/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py", line 355, in prepare_files
do_download, session=self.session,
File "/usr/local/lib/python2.7/dist-packages/pip/download.py", line 782, in unpack_url
session,
File "/usr/local/lib/python2.7/dist-packages/pip/download.py", line 667, in unpack_http_url
from_path, content_type = _download_http_url(link, session, temp_dir)
File "/usr/local/lib/python2.7/dist-packages/pip/download.py", line 843, in _download_http_url
_download_url(resp, link, content_file)
File "/usr/local/lib/python2.7/dist-packages/pip/download.py", line 615, in _download_url
for chunk in progress_indicator(resp_read(4096), 4096):
File "/usr/local/lib/python2.7/dist-packages/pip/utils/ui.py", line 46, in iter
for x in it:
File "/usr/local/lib/python2.7/dist-packages/pip/download.py", line 580, in resp_read
decode_content=False):
File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/response.py", line 256, in stream
data = self.read(amt=amt, decode_content=decode_content)
File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/response.py", line 186, in read
data = self._fp.read(amt)
File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/cachecontrol/filewrapper.py", line 54, in read
self.__callback(self.__buf.getvalue())
File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/cachecontrol/controller.py", line 205, in cache_response
self.serializer.dumps(request, response, body=body),
File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/cachecontrol/serialize.py", line 81, in dumps
).encode("utf8"),
MemoryError"
什么可能的问题是Matplotlib我得到这个错误? 我使用树莓派2与16GB SD卡。我仍然有8GB数据免费,但仍然得到这个错误。 请帮忙
看起来你没有足够的RAM从头开始构建matplotlib。为了克服这种情况,无论是打开的交换:
# create swap file of 512 MB
dd if=/dev/zero of=/swapfile bs=1024 count=524288
# modify permissions
chown root:root /swapfile
chmod 0600 /swapfile
# setup swap area
mkswap /swapfile
# turn swap on
swapon /swapfile
或者,如果您安装在SD卡上有raspbian,您可以从系统信息库安装matplotlib:
apt-get install python-matplotlib
这个错误就要到了,因为,看起来,pip的缓存机制试图在缓存之前将整个文件读入内存......这在有限的内存环境中造成问题,因为matplotlib大约为50mb。
一个简单的办法,直到PIP进行了修补,使用恒定的空间缓存算法,是运行pip
与--no-cache-dir
避免缓存:
$ pip --no-cache-dir install matplotlib
甜!这很好! – Sherlock70 2016-03-24 08:03:46
在Raspberry Pi上有这个问题。解决了! – fdelia 2016-07-28 15:31:28
在Raspberry Pi 2A上也有这个问题,并解决了它! – 8one6 2017-01-16 20:50:27
嗨,我尝试交换,但我仍得到相同的错误。 – 2015-04-06 08:28:43
如果我给“sudo apt-get安装matplotlib”它说“E:无法找到软件包matplotlib”应该做什么?我是linux新手,所以请帮助 – 2015-04-06 08:29:54
我不记得软件包的确切名称(并且在家里有我的RPi),但是您可以通过发布'sudo apt-cache search matplotlib'找到它。这应该给你确切的名字。 – 2015-04-07 06:10:15