파이썬 가상 환경 설정 이유
필요한 라이브러리 설치할 때 파이썬은 기본적으로 전역으로 설치함.
이 때 각 프로젝트에서 필요한 동일한 라이브러리가 버전이 달라야 하는 경우
서로 격리시키기 위해서 각 프로젝트의 가상 환경을 설정하고 가상환경을 내에서 라이브러리를 설치할 수 있다.
파이썬 가상환경 설정 방법
가상 환경 폴더 생성
터미널을 열고 프로젝트 폴더의 루트 경로에서 아래의 명령어를 실행
myenv는 가상 환경에 대한 파일들을 담는 폴더의 이름이 된다.
따라서 본인이 원하는 이름으로 설정하면 된다.
python -m venv myenv
가상 환경 실행
본인이 설정한 이름으로 프로젝트의 루트 경로에 새로운 폴더가 생성된 것을 확인한 후,
아래의 명령어를 실행한다. 여기서 myenv는 역시 본인이 설정한 이름이 된다.
.\myenv\Scripts\activate
이때 보안이나 권한에 관한 오류가 발생하면 아래와 관련이 있다.
PowerShell은 기본적으로 스크립트 실행을 제한하고 있으며, 실행 권한 정책을 수정해야 스크립트를 실행할 수 있다.
해결하기 위해 다음 단계를 따르자:
- Windows PowerShell을 관리자 권한으로 실행한다.
- 다음 명령을 실행하여 현재 실행 권한 정책을 확인한다:
Get-ExecutionPolicy
만약 결과가 "Restricted"로 나오면, 다음 명령을 실행하여 실행 권한 정책을 변경합니다:
Set-ExecutionPolicy RemoteSigned
현재 디렉토리에 대한 실행 권한만 변경하고 싶으면 아래의 명령어를 실행한다.
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
다시 제한하고 싶으면 위의 명령어에서 Remotesigned를 Restricted로 설정하면 된다.
PowerShell에서 현재 실행 중인 세션의 실행 권한을 확인하려면 다음 명령을 실행한다.
Get-ExecutionPolicy -List
.\myenv\Scripts\activate를 이용해서 가상환경이 성공적으로 실행됬다면
터미널에서 현재 경로를 나타내는 문장 제일 앞 부분에 아래의 사진과 같이 본인이 설정한 가상환경 폴더의 이름이 나타날 것이다.)

여기서 pip install 사용하여 라이브러리를 설치하면 이 가상환경에만 종속된다.
파이썬 코드를 한 줄씩 해석하는 인터프리터도 가상 환경에서 코드를 읽도록 해야 가상 환경에서 설치된 라이브러리를 인지 할 수 있으므로 인터프리터도 이에 대해서 따로 설정해줘야 한다.
visual studio로 코드를 작성한다면
ctrl+shift+p를 누르고
Python Select Interpreter를 검색한 후 클릭한다.

아래의 목록이 나오면 가상 환경 폴더의 이름이 적힌 옵션을 선택한다.

가상 환경 종료
가상 환경을 종료하기 위해서 아래의 명령어를 실행한다.
deactivate
이후 인터프리터도 위에서 설명한 것과 같은 방식을 이용해서 인터프리터 옵션의 리스트가 있는 곳으로 가서 오른쪽 끝에 글로벌이라고 적혀 있는 것을 클릭한다.
전역 라이브러리도 가상 환경에서 사용하기
전역으로 설치된 라이브러리도 가상 환경에서 사용하고 싶다면
아래의 명령어를 이용해서 가상 환경 폴더를 생성한다.
python -m venv myenv --system-site-packages
라이브러리와 관련된 명령어
pip list (현재 설치된 라이브러리의 목록을 보여줌)
pip freeze > requirements.txt (현재 설치된 라이브러리의 목록을 rquirements.txt에 작성함)
pip install -r requirements.txt (requirements.txt에 작성됨 모든 라이브러리를 설치함)
pip uninstall -r requirements.txt -y ( requirements.txt 파일에 나열된 모든 패키지를 자동으로 제거합니다. -y 옵션은 제거 과정에서 확인 메시지를 표시하지 않도록 합니다)
더 자세한 정보나 Mac에서 설정하는 정보는 아래의 영상을 참고한다.
https://www.youtube.com/watch?v=o_vKT80BBkw&t=1174s
댓글