상세 컨텐츠

본문 제목

[AWS/EC2] No space left on device / pip 설치 시 발생하는 문제

DevOps 연구 노트/아마존 웹 서비스

by bydawn25 2023. 4. 19. 09:30

본문

TMPDIR=/mnt/d/tmp/ pip install -U <필요한 라이브러리 이름>

일단 결론만 이야기 하면 위 명령어로 해결했다.

 

 

 

tc2.micro에서 tensorflow로 아주 작은 데이터를 다루는 모델을 작동하기 위해서 여러 라이브러리를 설치해야 한다.

 

지금 설치하는 라이브러리 중에 용량이 큰 친구가 두개가 있다.

 

- pykoSpacing

- tensorflow

 

이 친구들을 pip3로 install할때 아래와 같은 오류가 발생했다.

No space left on device

 

 

 

 

 

1개 cpu, 8g 메모리를 사용중이라 절대공간이 부족한건지 궁금했다.

df -h

 

 

 

https://www.google.com/url?sa=i&url=https%3A%2F%2Fsrinimf.com%2F2022%2F04%2F15%2Fthe-use-of-df-disk-free-command-in-linux%2F&psig=AOvVaw1rb2V4RRVrt3D-gpumTUcT&ust=1681950381148000&source=images&cd=vfe&ved=0CBMQjhxqFwoTCNCr5cnXtP4CFQAAAAAdAAAAABAu

이 명령어를 사용하면 위와 같이 깔끔한 결과를 보여준다.

 

전체용량은 절반정도 사용중이라 안전하다. 그때 눈에 띄인 용량이 /tmp 폴더.

 

 

pip가 tmp에 파일을 저장하는 듯 한데 그곳이 가득차있었다.

 

 

 

 

그래서 검색을 해보니 대부분 TMPDIR을 통해 폴더 주소를 변경하면 된다고 해서 먼저 TMPDIR를 실행하고 pip install을 실행하니 해결되지 않았다.

 

아래쪽에도 계속 copying to <가득찬 폴더이름> 이렇게 떠서 해결이 안되는건가 할쯤 아래 명령어 발견!

TMPDIR=/mnt/d/tmp/ pip install -U <필요한 라이브러리 이름>

https://stackoverflow.com/questions/60261730/error-could-not-install-packages-due-to-an-environmenterror-errno-28-no-spac?answertab=active#tab-top 

 

ERROR: Could not install packages due to an EnvironmentError: [Errno 28] No space left on device

I was trying to install turicreate using pip install -U turicreate But got the error Could not install packages due to an EnvironmentError: [Errno 28] No space left on device.I followed a...

stackoverflow.com

 

진짜 별 방법을 다해봤는데 tmp 용량 부족 문제에 먹히는 명령어가 이거였다.

 

 

 

 

-U는 업데이트를 의미한다. 앞에 TMPDIR를 붙어서 한번에 실행하니 해결되었다.

 

공간이 많이 부족하면 family를 업그레이드 하는게 좋지만 일단 실험단계에서는 이 명령어로 땜빵해보자.

 

 

 

 

 

관련글 더보기