코딜기
[EC2] EC2 인스턴스 가상환경 활성화 (direnv) 본문
반응형
EC2의 가상환경
- 자세한 개념은 파이썬 가상환경 설정 게시물에서 확인할 수 있습니다.
- EC2 가상환경 설치가 필요합니다.
EC2에 가상환경 활성화하기
- 아래 명령어를 통해 python용 가상환경을 env라는 디렉터리에 생성해 줍니다.
- 가상환경을 만들 프로젝트 폴더 경로 안에 들어가서 생성해 줘야 작업별로 가상환경을 독립시킬 수 있습니다.
- 이 포스팅에서는 활성화하는 방법을 공유하는 것이 목표이기 때문에 따로 독립시키지 않고 진행하겠습니다.
virtualenv env
- 아래 명령어를 통해 가상환경을 활성화 및 비활성화를 할 수 있습니다.
- 가상환경을 설치한 폴더로 이동한 후 진행하셔야 합니다.
- 정상적으로 활성화가 되었다면 사진과 같이 커맨드 라인 맨 앞에 (env) 표시가 생긴 것을 확인할 수 있습니다.
# 가상환경 활성화하기
source env/bin/activate
# 가상환경 비활성화하기
deactivate
가상환경을 자동으로 활성화하기 (direnv)
- 가상환경을 사용해야 할 때마다 활성화시켜야 하기 때문에 번거로움이 생길 수 있습니다.
- 또한 깜빡하고 활성화를 시키지 않고, 패키지를 설치하게 되면 작업 진행에 문제가 생길 수도 있습니다.
- 이러한 문제 발생을 방지하기 위해 특정 디렉터리에 접근을 하면 자동으로 가상환경이 활성화되도록 설정을 해주면 편리하게 작업을 진행할 수 있습니다.
1. 먼저 아래 명령어로 direnv를 설치해 줍니다.
sudo apt update
sudo apt install direnv
2. direnv로 가상환경 자동 활성화를 설정해 주기 위해 .bashrc 파일을 수정해줘야 합니다.
vi ~/.bashrc
3. .bashrc 파일을 vi 편집기로 연 후 맨 밑에 아래 코드를 추가해주어야 합니다.
eval "$(direnv hook bash)"
show_virtual_env() {
if [[ -n "$VIRTUAL_ENV" && -n "$DIRENV_DIR" ]]; then
echo "($(basename $VIRTUAL_ENV))"
fi
}
export -f show_virtual_env
PS1='$(show_virtual_env)'$PS1
4. 코드 추가가 완료되었으면 아래 명령어를 통해 변경사항을 적용시켜 줍니다.
source ~/.bashrc
5. 변경사항을 적용하고, 아래 명령어를 실행시켜 주면 사진과 같이 에러가 발생합니다.
touch .envrc
6. 이때 [direnv allow]를 입력하면 direnv가 사진과 같이 적용된 것을 확인할 수 있습니다.
7. 이제 .envrc에 virtualenv activate를 추가해서 디렉터리에 접근을 하면 자동으로 가상환경이 활성화되게 만들어 줍니다.
vi ~/airflow/.envrc
8. 위 명령어로 .envrc를 vi 편집기로 열어주면 내용이 비어있는데 아래 코드를 추가한 후 저장해 줍니다.
echo "Load direnv"
source ./env/bin/activate
9. 저장을 하고 [direnv allow]를 입력하면 사진과 같이 정상 활성화된 것을 확인할 수 있습니다.
- 여기까지 마치셨다면 direnv를 설정한 디렉터리에 접근하게 되면 자동적으로 가상환경이 활성화됩니다.
반응형
'Data Engineering > AWS' 카테고리의 다른 글
[EC2] AMI(Amazon Machine Image)로 인스턴스 생성 및 백업하기 (2) | 2024.05.14 |
---|---|
[EC2] EC2 인스턴스에 가상 환경 세팅 (0) | 2024.05.14 |
[EC2] EC2 인스턴스에 pip 설치하기 (0) | 2024.05.14 |
[EC2] EC2 인스턴스에 python3 세팅하기 (0) | 2024.05.14 |
[RDS] MySQL 원격 실행 (MAC) (0) | 2024.05.13 |
Comments