파이썬 4
파이썬 환경
- 개발 환경
코드를 작성할 때나 실행할 때 영향을 주는 요소들
파이썬 인터렉티브 모드
파이썬 파일을 cmd에서 실행할 때는
python 파일이름
또는
python 경로 를 써주면 된다.
파일 없이도 실행할 수 있는 방법이 있다.
cmd에 python만 쳐주만 된다.
이 모드를 파이썬 인터렉티브 또는 파이썬 쉘이라 부른다.
여기선 줄단위로 실행시킬 수 있다.
반복문 같이 여러줄에 걸쳐 작성해야 하는 것들도 사용 가능하다.
종료할 때는 quit()를 쓰면 된다.
다시 실행할 때는 이전에 사용한 내용이 사라진다.
파이썬 인터프리터
파이썬 코드를 머신 코드로 통역해주는 프로그램이다.
파이썬 파일을 실행하면 먼저 bytecode로 바꿔준다. bytecode는 머신코드가 아닌 중간단계의 코드다. 이렇게 바뀐 코드는 .pyc로 pycache폴더에 저장된다. 이 때 문법 같은 검사를 통과하지 못하면 bytecode는 만들어지지 않는다.
그 후에 인터프리터 안에있는 pvm이 bytecode를 한줄씩 머신코드로 바꾸고 바로바로 실행시킨다.
컴파일러, 인터프리터
컴파일러 언어는 머신코드로 번역을 한다.
코드 전체를 다른 언어로 바꾸는 것을 컴파일이라 한다.
실행 할때는 컴파일된 파일을 그대로 실행 한다.
인터프리터 언어는 인터프리터를 사용해 코드를 통역한다.
실행 할때는 줄 단위로 머신코드로 바꿔가면서 동작한다.
파이썬 버전
- major 버전
이전 버전과 호환성이 맞지 않을 정도의 큰 변화가 있는 버전
python 1, python 2 … - minor 버전
기능 추가 정도의 변화가 있는 버전. 낮은 버전의 코드가 높은 버전에서도 대부분 실행된다.
python 3.5, python 3.7 … - micro 버전
버그 수정 출시
python 3.5.1, python 3.5.5 …
버전이 바뀌면 인터프리터도 새로 설치해야 한다.
cmd에서 python –version으로 버전을 확인할 수 있다.
특정 인터프리터를 찾는 과정
PATH - 컴퓨터가 커맨드에 해당하는 프로그램들을 검색하는 경로들.
PATH = …a;…b;…c
왼쪽 부터 순서대로 탐색한다.
echo $env:PATH 로 PATH를 확인할 수 있다.
우선순위를 바꾸려면 환경 변수 편집에서 해당 디렉토리를 앞으로 옮겨주면 된다.
현재 사용중인 파이썬 인터프리터에 대한 경로를 확인하려면
gcm python | fl
을 쓰면 된다.
파이썬 폴더 안을 보면 python.exe(파이썬 인터프리터)와 Scripts폴더가 있다.
Scripts폴더 안에 pip이 있다.
환경 변수 편집을 확인해보면
C:…Python310
C:…Python310\Scripts
C:…Python39-32
C:…Python39-32\Scripts
이런식으로 같은 버전의 파이썬과 pip을 저장하는 디렉토리가 묶여있기 때문에 동일한 버전의 파이썬과 pip이 실행될 수 있다.
Scripts폴더안에 Lib폴더가 있는데 그 안에 site-packages가 있는데 여기에 외부 패키지와 모듈을 저장한다.
인터프리터와 pip이 바뀌면 기존의 패키지는 다시 설치해야 한다.
버전 디렉토리들은 각각 하나의 환경이고 하나의 컴퓨터 안에서 기본으로 사용하는 파이썬 환경을 글로벌 환경이라 한다.
가상 환경
글로벌 환경을 사용하면 한 환경에는 같은 패키지에 대해서 한 버전만 있을 수 있다.
그래서 프로젝트마다 하나의 분리된 환경을 사용하는게 좋다.
이렇게 분리된 환경을 가상 환경이라 한다.
가상 환경 도구 virtualenv를 사용해서 가상 환경을 만들 수 있다.
virtualenv
- 설치
pip install virtualenv - 생성
virtualenv –python=[파이썬 경로] [가상 환경 이름]
예시) virtualenv –python=C:\Users\abc\AppData\Local\Programs\Python\Python310\python.exe data_science_env - 실행
가상 환경 사용하기
.\가상 환경 이름\Scripts\activate
예시) .\data_science_env\Scripts\activate
스크립트 실행 관련 에러가 난다면 cmd에서 스크립트를 실행할 수 있도록 설정을 해준다.
Set-ExecutionPolicy Unrestricted -Scope Process
이후 다시 시도
가상 환경이 활성화 되면 프롬프트 앞에 가상 환경의 이름이 뜬다. - 종료
deactivate
가상 환경 공유
pip freeze는 pip list와는 다르게 유저가 설지한 패키지만 나온다.
pip freeze > requirments.txt를 사용해서 pip freeze의 내용을 requirments.txt파일에 옮긴다. 가상 환경을 공유해야 할 때 이 파일을 공유하면 된다. 파일의 이름은 아무렇게나 해도 상관없지만 requirments.txt로 이름짓는게 하나의 약속이다.
공유 받는 입장에서
pip install -r requirments.txt를 하면 패키지들이 설치된다.
가상 환경 폴더 자체를 공유해도 되겠지만 용량이 크기 때문에 이런식으로 하는게 효율적이다.
Leave a comment