본문 바로가기

Lab Note/AI

Python venv 다루는 방법 및 에러 해결법 in Linux

저는 Ubuntu 20.04, ssh 연결로 진행하겠습니다. 다른 Linux도 비슷할 것 같습니다.
 
기본 설치 내용
python3 (현재 3.8) or python3.10 (기본 apt로는 불가능: lib link 추가해줘야 함)
python3(또는 python3.x)-dev (보통 있음)
python3(또는 python3.x)-minimal (보통 있음)
python3(또는 python3.x)-distutils (보통 있음)
python3(또는 python3.x)-venv
python3(또는 python3.x)-pip (가끔 없으므로 설치)
 
모두 설치 후 명령어:
python3(또는 python3.x) -m venv 설치할_위치
+ 파일 생성이므로 권한 없으면 sudo 해주면 됨
예) sudo python3.10 -m venv /var/venv/venv01
 
실행은 다음과 같이 한다.
source 설치한_위치/bin/activate
예) source /var/venv/venv01/bin/activate
 
이후 pip install을 시도할 수 있다. 다만, 에러 메시지가 뜬다면?
venv에서 새로운 모듈을 다운받기 위해서는 마찬가지로 파일 생성이므로 권한이 필요.
단, 이때 단순히 sudo로 pip install을 할 경우... venv가 아니라 다른 이상한 곳에 설치될 수 있다.
 
terminal에서 필요한 설치 위치 확인하는 법:
일단 python 창을 연다.
!#python
import sys
print(sys.path)
print(sys.executable) # python 실행파일의 위치, 주로 venv_주소/bin/python 으로 나타난다.

이때 pip install의 위치가 저 sys.path와 다른 곳에 있다면,
모듈을 설치했는데도 진행이 안 될 것이다.
따라서, 편의를 위해 다음과 같이 진행.
 
sudo chmod 777 -R 설치한_위치/
예) sudo chmod 777 -R /var/venv/main_venv
(그냥 모두 777을 주는 건 위험하지만 그래도 도움이 된다)
이후 pip를 실행한다면, 문제 없이 install 될 것이다. 위치 역시 sys.path와 같을 것.

728x90

'Lab Note > AI' 카테고리의 다른 글

Linux Django 기본 구성 방법  (0) 2024.03.02
LAMP 기본 구성 방법  (0) 2024.03.02