Using cached IOError: [Errno 28] На устройстве не осталось свободного места
15 июня 2016 г. 7:47
Довольно-таки неочевидная может быть ошибка IOError: [Errno 28] На устройстве не осталось свободного места. Ладно, если на устройстве действительно нет места. А если видишь, что место более чем достаточно, и получаешь такую ошибку? Загадка..
Вот и я сегодня получил такую ошибку, когда стал развёртывать на сервере сайт клиента. При создании виртуального окружения лог был следующим:
Collecting psycopg2==2.5.4 (from -r /home/client/project/src/requirements.txt (line 1)) Collecting Django==1.8.4 (from -r /home/client/project/src/requirements.txt (line 3)) Using cached Django-1.8.4-py2.py3-none-any.whl Exception: Traceback (most recent call last): File "/home/client/project/src/env/local/lib/python2.7/site-packages/pip/basecommand.py", line 209, in main status = self.run(options, args) File "/home/client/project/src/env/local/lib/python2.7/site-packages/pip/commands/install.py", line 310, in run wb.build(autobuilding=True) File "/home/client/project/src/env/local/lib/python2.7/site-packages/pip/wheel.py", line 748, in build self.requirement_set.prepare_files(self.finder) File "/home/client/project/src/env/local/lib/python2.7/site-packages/pip/req/req_set.py", line 360, in prepare_files ignore_dependencies=self.ignore_dependencies)) File "/home/client/project/src/env/local/lib/python2.7/site-packages/pip/req/req_set.py", line 577, in _prepare_file session=self.session, hashes=hashes) File "/home/client/project/src/env/local/lib/python2.7/site-packages/pip/download.py", line 810, in unpack_url hashes=hashes File "/home/client/project/src/env/local/lib/python2.7/site-packages/pip/download.py", line 649, in unpack_http_url hashes) File "/home/client/project/src/env/local/lib/python2.7/site-packages/pip/download.py", line 871, in _download_http_url _download_url(resp, link, content_file, hashes) File "/home/client/project/src/env/local/lib/python2.7/site-packages/pip/download.py", line 595, in _download_url hashes.check_against_chunks(downloaded_chunks) File "/home/client/project/src/env/local/lib/python2.7/site-packages/pip/utils/hashes.py", line 46, in check_against_chunks for chunk in chunks: File "/home/client/project/src/env/local/lib/python2.7/site-packages/pip/download.py", line 564, in written_chunks content_file.write(chunk) IOError: [Errno 28] На устройстве не осталось свободного места
Смотрю свободное пространство диска: около 17 ГБ. И тут я обратил внимание, что ошибка возникает на строчке:
Using cached Django-1.8.4-py2.py3-none-any.whl
Известно, что pip кеширует загрузки зависимостей в папку tmp, поэтому, скорее всего, с tmp что-то не так. Далее, выяснилось, что директория tmp - это отдельный раздел, которой переполнен (осталось 2,6 МБ):
$ watch -n1 df Файловая система 1K-блоков Использовано Доступно Использовано% Cмонтировано в /dev/ploop42952p1 20516988 2684808 17196828 14% / devtmpfs 524288 0 524288 0% /dev tmpfs 524288 4 524284 1% /dev/shm tmpfs 524288 52892 471396 11% /run tmpfs 5120 0 5120 0% /run/lock tmpfs 524288 0 524288 0% /sys/fs/cgroup tmpfs 524288 521667 2621 99% /tmp none 524288 0 524288 0% /run/shm
Очистив место в директории tmp, я смог поставить зависимости, и сайт, наконец-то, развернулся! Как оказалось, ошибка не такая уж и загадочная :)
Похожие статьи:
Представляю вашему вниманию книгу, написанную моим близким другом Максимом Макуриным: Секреты эффективного управления ассортиментом.
Книга предназначается для широкого круга читателей и, по мнению автора, будет полезна специалистам отдела закупок и логистики, категорийным и финансовым менеджерам, менеджерам по продажам, аналитикам, руководителям и директорам, в компетенции которых принятие решений по управлению ассортиментом.
Комментарии: 0