A. 금일 학습내용
1. 파이썬의 가상환경
- 하나의 독립된 파이썬 실행 환경
- 해당 환경에서 패키지들을 설치하고 사용할 수 있다.
- 다른 프로젝트와 격리되어, 각기 다른 프로젝트가 서로 간섭하지 않도록 한다.
2. 가상환경의 필요성
- 프로젝트 간 의존성 충돌방지
프로젝트별 필요한 패키지를 독립적으로 관리할 수 있다.
- 프로젝트 관리 용이
프로젝트와 관련된 패키지 목록을 쉽게 관리하고 공유할 수 있다.
- 시스템 전역 패키지와의 분리
가상환경을 사용한다면 시스템에 기본으로 설치된 파이썬 패키지를 변경하면 시스템 안정성을 지킬 수 있다.
3. 가상환경 생성
- anaconda를 활용하여 파이썬을 설치한 상황에서 가상환경을 생성하고자 한다.
- andaconda는 아래 주소에서 다운로드 받을 수 있다.
Download Anaconda Distribution | Anaconda
4. 가상환경 생성
1) Anaconda Powershell Prompt를 관리자 권한으로 연다.
- 'base'는 anaconda에서 기본적으로 제공하는 기본 가상환경이다.
- 'base' 기본 가상환경에서 내배캠 기초과정에서 학습한 모든 파일을 'bootcamp_baisc' 이란 가상환경으로 옮기고자 한다.
2) 가상환경 생성 코드를 작성한다.
conda create --name myenv #anaconda를 통해 'myenv'라는 가상환경 생성
- 내 경우 경로 간의 공백이 발생한다는 오류가 발생하여 이와 다른 방식으로 가상환경을 생성하였다.
conda create --prefix "D:\BootCamp\Data preprocessing\bootcamp_basic"
▶ --name vs --prefix 에 관하여
공통점: conda에서 가상환경 생성 시 사용하는 옵션
차이점:
구분 | --name | --prefix |
차이점 | 가상 환경의 이름 지정 기본적으로 환경을 C:\Users\[사용자 이름]\anaconda3\envs\ 경로에 생성 |
가상 환경을 생성할 경로를 명시적으로 지정 사용자가 원하는 위치에 환경을 생성할 수 있으며, 경로를 완전히 지정해야함. |
요약 | 환경 이름을 지정하고, 기본 경로에 생성. | 사용자 지정 경로에 환경을 생성. |
- 가상환경이 제대로 생성된다면 (base) 가상환경이 앞서 정의한 가상이름으로 변경된다.
5. 가상환경 활성화
conda activate myenv #myenv 가상환경 활성화
- 기존 --name 활용하여 가상환경을 생성하였다면 위의 코드가 제대로 작동할 것이다.
- 그러나 --prefix 활용한 유저는 위와 같은 오류가 발생하기에 아래의 코드를 작성해야한다.
conda activate "D:\BootCamp\Data preprocessing\bootcamp_basic"
- 가상환경 위치 정보를 큰 따움표("")로 감싸고 코드를 실행시켜야 한다.
- 그래야 아래와 같이 오류가 발생하지 않는다.
6. 가상환경 내부 패키지 설치 리스트 확인
conda list
7. 가상환경 비활성화
conda deactivate
- 비활성화 방법은 설치와 활성화 방법보다 훨씬 쉽다.
- 내가 만든 가상환경에서 기본 가상환경 base로 돌아왔음을 알 수 있다.
8. 가상환경 이름 별칭 짓기
- --prefix로 만든 가상환경의 이름은 "(D:\BootCamp\Data preprocessing\bootcamp_basic)" 너무 길다.
- anaconda 내부에서 별칭을 사용할 수 없지만 PowerShell 프로파일을 활용하여 별칭을 만들 수 있다.
8-1. Anaconda Powerhell Prompt관리자 권한으로 열기
notepad $PROFILE
- 파일이 없다면 생성하겠냐는 메세지에 '예'를 선택하여 .txt 파일을 만든다.
- False가 뜬다면 프로파일 파일 생성을 하고 별칭을 추가하는 과정을 다시 거쳐야 한다.
New-Item -Path $PROFILE -ItemType File -Force
8-2 별칭 추가하는 함수 작성
function bc {
conda activate "D:\BootCamp\Data preprocessing\bootcamp_basic"
}
- bc를 입력하였을 때 base 기본 가상환경에서 내가 만든 새로운 가상공간으로 넘어갔음을 확인할 수 있다.
B. 마무리
필요에 따라 가상환경을 만들어 작업을 한다면 프로그램 간 충돌이 벌어지지 않을 것이다. 프로젝트별 가상환경을 만드는 것을 꼭 습관화해야겠다. 꼬이고 날아가는 일은... 있으면 안 된다...
'Today I Learned' 카테고리의 다른 글
[내일배움캠프_데이터분석] 6주차 월요일 TIL _ 가상환경(2) (0) | 2024.07.29 |
---|---|
[내일배움캠프_데이터분석] 5주차 금요일 TIL _ 피벗테이블 (0) | 2024.07.26 |
[내일배움캠프_데이터분석] 5주차 화요일 TIL _ 이상치, 시각화 (0) | 2024.07.23 |
[내일배움캠프_데이터분석] 5주차 월요일 TIL _ EDA분석, 결측치 (0) | 2024.07.22 |
[내일배움캠프_데이터분석] 4주차 금요일 TIL _ pandas (0) | 2024.07.19 |