我正在使用适用于 ubuntu 的 Oracle VM,并尝试安装一个名为“torch”的 python 包。但是,每当我尝试通过键入“pip install torch”来安装该包时,它都会在末尾显示一条错误消息,提示“MemoryError”。确切的错误消息如下:
pip 安装 torch
收集火炬 下载https://files.pythonhosted.org/packages/31/ca/dd2c64f8ab5e7985c4af6e62da933849293906edcdb70dac679c93477733/torch-1.0.1.post2-cp36-cp36m-manylinux1_x86_64.whl(582.5MB)99%|██████████████████████████████| 582.5MB 16.4MB/s eta 0:00:01异常:
回溯(最近一次调用最后一次):文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_internal/cli/base_command.py”,第 176 行,主状态 = self.run(options,args)文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_internal/commands/install.py”,第 315 行,运行 resolver.resolve(requirement_set)文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_internal/resolve.py”,第 131 行,解析 self._resolve_one(requirement_set,req)文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_internal/resolve.py”,第 294 行, _resolve_one abstract_dist = self._get_abstract_dist_for(req_to_install) 文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_internal/resolve.py”,第 242 行,在 _get_abstract_dist_for self.require_hashes 文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_internal/operations/prepare.py”,第 334 行,在 prepare_linked_requirement progress_bar=self.progress_bar 文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_internal/download.py”,第 878 行,在 unpack_url progress_bar=progress_bar 文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_internal/download.py”, 第 702 行, 在 unpack_http_url progress_bar) 文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_internal/download.py”, 第 946 行, 在 _download_http_url _download_url(resp, link, content_file, hashes, progress_bar) 文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_internal/download.py”, 第 639 行, 在 _download_url hashes.check_against_chunks(downloaded_chunks) 文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_internal/utils/hashes.py”, 第 62 行,在 check_against_chunks 中查找 chunks 中的块:文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_internal/download.py”,第 607 行,在 written_chunks 中查找 chunks 中的块:文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_internal/utils/ui.py”,第 159 行,在 iter 中查找 x:文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_internal/download.py”,第 596 行,在 resp_read 中 decrypt_content=False:文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_vendor/urllib3/response.py”,第 494 行,在 stream data = self.read(amt=amt, decrypt_content = decrypt_content)文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_vendor/urllib3/response.py”,第 442 行,读取数据 = self._fp.read(amt)文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_vendor/cachecontrol/filewrapper.py”,第 65 行,读取 self._close()文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_vendor/cachecontrol/filewrapper.py”,第 52 行,在 _close 自身中。回调(self.__buf.getvalue())文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_vendor/cachecontrol/controller.py”,第 300 行,在 cache_response cache_url 中,self.serializer.dumps(request、response、body=body)文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_vendor/cachecontrol/serialize.py”,第 72 行,在转储中返回 b“”。加入([b”cc=4“,msgpack.dumps(data,use_bin_type=True)])文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_vendor/msgpack/__init.py", 第 47 行,在 packb 中返回 Packer(**kwargs).pack(o) 文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_vendor/msgpack/fallback.py”, 第 854 行,在 pack self._pack(obj) 文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_vendor/msgpack/fallback.py”, 第 845 行,在 _pack nest_limit - 1) 文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_vendor/msgpack/fallback.py”, 第 947 行,在 _pack_map_pairs 中 self._pack(v, nest_limit - 1) 文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_vendor/msgpack/fallback.py”,第 845 行,在 _pack nest_limit - 1)文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_vendor/msgpack/fallback.py”,第 947 行,在 _pack_map_pairs self._pack(v,nest_limit - 1)文件“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_vendor/msgpack/fallback.py”,第 790 行,在 _pack return self._buffer.write(obj)MemoryError
因此,我假设我的 ubuntu VM 的内存磁盘大小较低,因此我安装了 GParted 来分配更多内存。但事实证明,我的 dev/sda1 分区上仍有 1.47GiB 的未使用内存,而包的大小比这小得多。这个问题有解决办法吗?如果您需要任何其他信息,请告诉我。谢谢阅读。
答案1
此处的“内存”指的是 RAM,而不是磁盘空间。因此,您需要更改分配给虚拟机的 RAM 量。
此外,压缩包大小为 582.5MB,至少安装时会翻倍,所以听起来你可能也用完了磁盘空间。
答案2
这对我有用
pip --no-cache-dir install torch