嘗試在 ubuntu 中安裝 python 套件時出現“MemoryError”

嘗試在 ubuntu 中安裝 python 套件時出現“MemoryError”

我在 ubuntu 上使用 Oracle VM 並嘗試安裝一個名為“torch”的 python 套件。但是,每當我嘗試透過輸入「pip install torch」來安裝該軟體包時,它都會在末尾顯示一條錯誤訊息,提示「MemoryError」。具體錯誤訊息如下:

點安裝火炬

收集火炬 下載https://files.pythonhosted.org/packages/31/ca/dd2c64f8ab5e7985c4af6e62da933849293906edcdb70dac679c93477733/torch-1.0.1.post2-366-cpxd-cp(582.5MB) 99% |██████████████████████████████| 582.5MB 16.4MB/秒 預計時間 0:00:01異常:

回溯(最近一次呼叫最後一次):檔案“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_internal/cli/base_command.py”,第176 行,主要狀態= self. run (選項,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 /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”,第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/edwardim/ syseng/venv/lib/python3.6/site-packages/pip/ _internal/utils/hashes.py”,第62 行,在check_against_chunks 中尋找區塊中的區塊:檔案“/home/edwardkim/syseng/venv/lib /python3.6/site-packages/pip/_internal/download.py”,行607,在write_chunks 中表示區塊中的區塊:檔案“/home/edwardkim/syseng/venv/lib/python3.6/site-packages /pip/_internal/utils/ui.py”,第159 行,在iter 中for x :檔案“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_internal/download.py ”,第596行,在resp_read中decode_content = False):檔案“/home/edwardkim/syseng/ venv/lib/python3.6/site-packages/pip/_vendor/urllib3/response.py”,第494 行,在流資料= self.read(amt=amt,decode_content=decode_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-套件/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中cachecontrol/controller.py”,第300行,在cache_response中cache_url ,self .serializer.dumps(請求,回應,body = body)檔案“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_vendor/cachecontrol/serialize.py”,第72行,轉儲中返回b",".join([b"cc=4", msgpack.dumps(data, use_bin_type=True)]) 檔案"/home/edwardkim/syseng/venv/lib/python3.6/site -packages/pip /_供應商/msgpack/__init.py”,第47 行,在packb 中傳回Packer(**kwargs).pack(o) 檔案“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_vendor/msgpack/ fallback。 845 行,在_pack Nest_limit - 1)檔案“/home/edwardkim/syseng/venv/lib/python3.6/site-packages/pip/_vendor/msgpack/fallback.py”,第947行,在_pack_map_pairs packself. _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 回傳 self._buffer.write(obj) MemoryError

因此,我假設 ubuntu VM 的記憶體磁碟大小較低,因此我安裝了 GParted 來分配更多記憶體。但事實證明,我的 dev/sda1 分割區上仍然有 1.47GiB 的未使用內存,而且套件的大小比這小得多。這個問題有什麼解決方法嗎?如果您需要任何其他信息,請告訴我。謝謝閱讀。

答案1

在這種情況下,「記憶體」指的是 RAM,而不是磁碟空間。因此,您需要變更分配給虛擬機器的 RAM 量。

另外,壓縮包的大小為582.5MB,這將至少安裝時加倍,所以聽起來您可能也耗盡了磁碟空間。

答案2

這對我有用

pip --no-cache-dir install torch

相關內容