Pip安装杀死内存不足怎么办?

2021-01-17 14:55:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试安装spaCy,一个自然语言处理库。在

root@vps:~# python3 -m pip install spacy
Collecting spacy
  Using cached https://files.pythonhosted.org/packages/8f/ac/f7a56f8de3bd29384247babb327b7f3c0e3ddef40d1eff8ae993e6d4d2ba/spacy-2.1.6-cp35-cp35m-manylinux1_x86_64.whl
Installing collected packages: spacy
Killed

过了一会儿,它就死了。我已经找到了堆栈溢出的答案并尝试了,这是由于内存不足(VPS上有1.2GB的可用空间,无法扩展)。一个快速的tail -f /var/log/kern.log给了我Out of memory: Kill process 31729 (python3) score 558 or sacrifice child。在

我已经尝试过添加--no-cache-dir,但是没有用。手动复制文件时似乎缺少某些内容。有没有办法在低内存服务器上安装这个软件包?在

编辑:完成python3 -m pip install spacy -vvv的日志

^{pr2}$
3条回答
网友
1楼 ·

不确定这是否可行,但您是否尝试过从源代码处编译?此脚本位于Spacy's pypi page。不知道这是否会比常规pip安装更好地管理RAM约束,但我会尝试一下。在

# make sure you are using the latest pip
python -m pip install -U pip
git clone https://github.com/explosion/spaCy
cd spaCy

python -m venv .env
source .env/bin/activate
export PYTHONPATH=`pwd`
pip install -r requirements.txt
python setup.py build_ext  inplace
网友
2楼 ·

github上已经有报道

https://github.com/explosion/spaCy/issues/3396

下面是一些关于如何解决这个问题的好线索

fork() failing with Out of memory error

Memory error while using pip install Matplotlib

out of memory issue in installing packages on Ubuntu server

https://chirale.org/2017/01/15/memory-error-on-pip-install-solved/

总之,以下是两个选项:

  1. 尝试使用 no-cache-dir,不幸的是,这对您没有帮助

  2. 增加交换空间

$ 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
网友
3楼 ·

尝试向VPS添加交换空间。这样你就可以使用可用的磁盘空间作为内存

相关问题