이번 포스팅에서는 환경변수에 대해 설명하고 윈도우, 맥OS, 리눅스에서 환경변수를 설정/수정하는 방법을 소개한다.
환경변수란?
환경변수는 OS에서 스트링을 저장하는 변수로 OS의 환경설정 (실행파일 위치, 홈 디렉토리, ...)과 관련한 정보를 담고있다. 필요에 따라 사용자가 환경변수를 추가하거나 기존의 환경변수를 수정할 수 있다. 대표적인 환경변수 PATH을 예시로 들면 환경변수에 대한 이해가 용이할 것 같아 PATH에 대해 설명하겠다.
환경변수 PATH
환경변수 중에 PATH는 실행파일의 경로들을 담고있는 환경변수이다. 우리가 커맨드라인에서 "python <파이썬파일>"와 같은 명령어를 칠 때 쉘은 PATH에 포함된 경로에서 python.exe라는 실행파일을 찾아서 실행하는 것이다. 윈도우의 명령프롬프트나 맥OS/리눅스의 터미널을 열고 아래 명령어를 치면 환경변수 PATH에 포함된 경로들이 출력된다.
echo %PATH% # 윈도우
echo $PATH # 맥, 리눅스
PATH에는 여러개의 경로를 등록할 수 있다. 윈도우에서는 ';'를 써서 구분하고 맥과 리눅스에서는 ':'를 써서 구분한다. 실행파일을 찾을 때는 맨 앞에 있는 경로부터 순차적으로 탐색한다.
환경변수 리스트 출력
1) 윈도우
윈도우에서는 명령프롬프트를 킨 후 set 명령어를 치면 현재 정의된 환경변수 리스트를 출력할 수 있다. 또한 echo 명령어를 사용하면 특정 환경변수의 값만 볼 수 있다.
# 윈도우
# 환경변수 출력
set
# 특정 환경변수 값만 보고 싶을 때
echo %환경변수이름%
2) 맥OS, 리눅스
맥OS와 리눅스에서는 터미널을 킨후 env 명령어를 치면 현재 정의된 환경변수 리스트를 출력할 수 있다. 또한 echo 명령어를 사용하면 특정 환경변수의 값만 볼 수 있다.
# 맥OS, 리눅스
# 환경변수 출력
env
# 특정 환경변수 값만 보고 싶을 때
echo $환경변수이름
환경변수 설정
명령프롬프트나 터미널에서 아래의 코드처럼 환경변수의 값을 수정할 수 있다.
# 환경변수 PATH 값 수정
PATH=c:\user\new_folder;%PATH% # 윈도우
PATH=/user/new_folder:$PATH # 맥, 리눅스
하지만 프롬프트나 터미널을 통해 수정한 내용은 해당 프롬프트나 터미널에 한해서만 적용된다. 따라서 환경변수를 영구히 바꾸고 싶다면 다음의 방법을 사용해야 한다.
1) 윈도우
윈도우의 경우에는 GUI를 사용한다. 윈도우 검색창에 환경변수를 검색하면 아래와 같이 환경변수 편집 창을 실행할 수 있다. 참고로 환경변수에는 두 가지 종류가 있는데 시스템 환경변수와 사용자 환경변수다. 사용자 환경변수는 사용자 개별로 적용되며 시스템 환경변수를 오버라이딩한다. 여럿이서 함께 쓰는 컴퓨터가 아니라면 시스템 환경 변수를 편집하면 된다.
환경변수 편집창은 아래와 같다. 편집창에서 원하는 환경변수를 선택한 다음에 편집을 누르면 해당 환경변수의 편집창으로 들어간다. 만약 새로운 환경변수를 추가하고 싶다면 새로 만들기를 클릭하면 된다.
환경변수의 편집창에서는 새로 만들기를 통해 새로운 경로/문자열을 추가할 수 있고, 편집을 통해 기존 경로/문자열을 수정할 수 있으며, 삭제를 통해 기존 경로/문자열을 삭제할 수 있다. 또한 위로 이동, 아래로 이동을 통해 여러 경로/문자열의 순서를 정할 수 있다. 편집이 끝난 후에는 확인을 눌러서 창을 닫으면 된다.
2) 맥OS, 리눅스
맥이나 리눅스는 홈디렉토리에 있는 .bashrc 파일을 수정하면 터미널이 실행될 때마다 새로운 환경변수값이 자동으로 설정된다.
vim ~/.bashrc
# .bashrc에 다음줄 추가
# 새로운 환경변수 추가
export 환경변수명=환경변수값
# 기존 환경변수 수정 - PATH 환경변수에 새로운 경로 추가
export PATH="새로운경로":$PATH
'Data Engineering > 파이썬' 카테고리의 다른 글
파이썬 *args, **kwargs (파이썬 클린 코드 #4) (0) | 2022.10.18 |
---|---|
파이썬 String 합치기, String concatenation, join 함수 (파이썬 클린 코드 #3) (0) | 2022.10.12 |
파이썬 올바른 딕셔너리 사용법: get, setdefault, defaultdict (파이썬 클린 코드 #2) (0) | 2022.10.10 |
파이썬 enumerate, with, is, R-String, F-String (파이썬 클린 코드 #1) (0) | 2022.10.07 |
파이썬 코딩 컨벤션 - 네이밍 컨벤션 (0) | 2022.09.22 |
댓글