Computer/공부정리

[Mac][Python]가상환경 생성과 환경변수 설정

이르리의 공부일지 2023. 9. 12. 15:41

 

 

상황 

프로젝트 패키지 관리차원에서 가상환경을 생성하고자 한다.

이미 패키지를 깔아놨기 때문에 그대로 이용하면서 추가 패키지는 가상환경에만 깔고자 한다.

 

할 일

1. 가상환경 생성

2. 기존에 깔려있는 패키지 모아서 깔아두기

 

 

 

 

가상환경 생성 및 현재 깔아둔 패키지 한 번에 다운로드하는 법

I. 가상환경 세팅

원하는 경로에 가상환경 폴더 모아둘 최상위 폴더 생성한다.

mkdir venv

 

 

중간에 폴더 지우고 할 때 또 다른 명령어 참고했음

 

참고 블로그

https://lsh424.tistory.com/2

 

초보자를 위한 맥 터미널 명령어 정리

맥으로 개발을 하다 보면, 터미널을 사용하게 되는 경우가 많이 있는데요. iOS앱 개발을 할 때 외부 라이브러리를 사용하기 위해 CocoaPods 와 pod을 설치 할 때도 터미널을 통해 설치 하게 됩니다!

lsh424.tistory.com

 

 

 

  1. 가상환경 생성

 

cd venv

python3 -m venv crawler_env

 

 

 

II. 가상환경 패키지 준비-기존 패키지 한 번에 설치

 

1. 현재 깔린 패키지 확인

pip3 list

 

2. requirements.txt 파일 생성 및 패키지 자동입력

 

pip3 freeze >requirements.txt

requirements.txt 파일이 생성됨

 

(touch requirements.txt 라고 해도 됨.

위와의 차이는 python 패키지를 사용하느냐 bash 명령어를 사용하느냐)

 

 

pip3 list —format=freeze > requirements.txt

pip3 list하면 현재 깔린 패키지 모두 나타내는데 

이게 전부 requirements.txt 에 올라감.

 

 

pip3 install -r requirements.txt

필요한 거 다 깔자

 

 

※ 꼭 텍스트 파일명이 ‘requirements’는 아니어도 됨

다만 헷갈릴 수 있으니 많이들 사용하는 이름으로 쓰는 것 뿐

 

 

 

참고 블로그

https://sosoeasy.tistory.com/597

 

pip이용하여 requirements.txt 만들기

1. requirements.txt 현재 가상환경에 설치된 python 패키지를 버전과 함께 작성하여 requirements.txt 파일에 저장한다 2. requiremnets.txt 생성 커맨드 다음 커맨드를 이용하여 자동으로 requirements.txt파일을 생

sosoeasy.tistory.com

 

 

 

 

*pip3 freeze 와 list 차이

 

 

freeze Output installed packages in requirements format. 깔린 패키지 형식에 맞게 출력
list List installed packages. 깔린 패키지 나열

 

 

참고 글

https://stackoverflow.com/questions/18966564/pip-freeze-vs-pip-list

 

Pip freeze vs. pip list

Why does pip list generate a more comprehensive list than pip freeze? $ pip list feedparser (5.1.3) pip (1.4.1) setuptools (1.1.5) wsgiref (0.1.2) $ pip freeze feedparser==5.1.3 wsgiref==0.1.2 Pi...

stackoverflow.com

 

 


할 일

1. 가상환경 생성

2. 기존에 깔려있는 패키지 모아서 깔아두기

3. 가상환경 쉽게 진입하게 설정하기

 

 

  1. 가상환경 진입

 

나는 바탕화면의 venv 폴더 안에 가상환경을 만들어놨다.

이 때 가상환경 진입방법은 다음과 같다.

 

 

다소 열심히 들어가는 방법

>> 직접 가서 activate 파일 실행

cd [바탕화면까지의 경로]/venv/crawling_env/bin/

혹은

cd [바탕화면까지의 경로]/venv/crawling_env/bin

 

※ ‘/‘(슬래시)는 경로 끝에 해도 되고 안 해도 된다.

 

 

 

>> source 명령어로 한방에 진행(대신 경로명을 다 써야한다..!)

source [바탕화면까지의 경로]/venv/crawling_env/bin/activate

 

 

 

 

가장 쉽지만 준비가 좀 필요한 방법

바로, ‘환경변수 설정’을 이용한다

 

터미널에 다음과 같은 명령어를 입력한다.

vi ~/.bash_profile

혹은

vim .bash_profile

환경변수 설정하러 간다는 뜻이다.

 

 

그럼 attention 이라 하면서 환경변수 설정과 관련된 설명이 뜸

E를 눌러 Edit 모드 설정하거나(권장)

엔터키 3번 눌러도 된다.(경험에 의한 결과)

 

 

그 뒤,

 

i를 눌러 Insert 모드로 변경하기

 

Export PATH라는 행으로 가서

 

PATH 부분에 PATH 대신 내가 원하는 환경변수와 그 경로 입력하면 된다.

 

예시.

수정 전 수정 후
export PATH export crawler_env = [바탕화면까지의 경로]/venv/crawling_env/bin/activate

 

 

그 뒤 esc 버튼 눌러 비활성화하고

 

:wq 입력해서 입력을 마치고 나간다고 명령해준다.

 

 

 

 

터미널에서 env라고 입력하면 환경변수 전체 확인할 수 있다.

 

내가 설정한 환경변수 있나 확인해주자.

 

※ 없을 수도 있는데 환경변수 적용하려면 재시동(껐다 키기)해야 한다.

 

 

 

그 뒤 다음과 같이 명령어를 입력하자.

 

source $crawler_env

 

그럼 바로 가상환경 활성화된다.

 

 

 

 

참고 블로그

https://kitty-geno.tistory.com/166

 

MAC | 맥에서 환경변수 설정 및 확인

▶︎ 터미널 실행 Spotlight(단축키 Command + Space)에서 terminal 검색 후 실행 ▶︎ 명령어 입력 vi ~/.bash_profile 입력 vi ~/.bash_profile 아래와 같은 화면이 나오면 E를 눌러 Edit 모드로 설정 i를 눌러 INSERT 모

kitty-geno.tistory.com

 

https://cosmosproject.tistory.com/269

 

Mac : Mac OS에서 환경변수 조회/설정하기 (Checking & Setting environment variable in Mac OS. vim editor. vi editor)

환경변수 조회하기 Mac OS에서 환경변수를 조회하기 위해서는 terminal에서 env라는 글자를 입력하면 됩니다. [Terminal] $ env ... ... ... 위 예시에서 출력된 내용은 ...으로 지웠지만 위처럼 env라는 명령

cosmosproject.tistory.com

 

 

 

 

 

 

다른 방법도 있나?

 

Windows에선 bach 파일 따로 만들어서 키워드 하나로 들어갔는데

 

Mac에서는 환경변수만 설정해도 금방 진입할 수 있다만

 

명령어(source)를 입력해야 해서 더 간단한 방법을 찾고 싶다만 지금은 모르겠다.

 

우선 이렇게 쓰고자 한다.