| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- Google Spreadsheet
- array
- django
- gas
- GIT
- SQL
- list
- string
- Python
- PySpark
- Apache
- Github
- Redshift
- matplotlib
- google apps script
- c#
- 파이썬
- PostgreSQL
- Kotlin
- Presto
- dataframe
- math
- Excel
- numpy
- Google Excel
- PANDAS
- Tkinter
- Java
- hive
- Today
- Total
달나라 노트
Python Basic : Python Virtual Environment 관리 (venv, interpreter) 본문
Python Basic : Python Virtual Environment 관리 (venv, interpreter)
CosmosProject 2026. 3. 25. 22:48
Python을 다룰 때 가상환경(Virtual Environment)을 다루는 경우는 매우 흔합니다.
이번에는 (anaconda python이 아닌) 일반 Python을 사용할 때 가상환경을 어떻게 관리할 수 있는지를 알아봅시다.
일단 현재 Python이 설치되어 있는지, 설치되어있다면 그 경로가 어디인지 봅시다.
(base) ~~% which -a python
/opt/anaconda3/bin/python3
/usr/local/bin/python3
/usr/bin/python3
which -a python 명령어를 이용하여 현재 설치된 python의 경로와 종류를 파악합니다.
(이는 각자의 환경마다 다를 수 있으며 python은 이미 설치되어있다고 가정합니다.)
원하는 Python을 선택하여 가상환경을 생성합니다.
저는 /usr/local/bin/python3를 이용해보겠습니다.
/usr/local/bin/python3 -m venv my_test_env
터미널에 위와같이 입력합니다.
/usr/local/bin/python3 -> 여기 설치된 python을 이용해서
-m venv -> 가상환경을 만들건데 (-m은 모듈(Module)을 스크립트처럼 실행하라 라는 의미인데 여기선 더 자세한 설명은 생략하겠습니다.)
my_test_env -> 가상환경 이름은 my_test_env로 해라
라는 의미입니다.
그러면 아래처럼 제가 지정한 my_test_env라는 이름의 폴더가 생성됩니다.

이 폴더를 들어가보면 아래와 같이 여러 파일과 폴더들이 있습니다.

bin, include, lib 등의 폴더와 파일들은 모두 python 가상환경 구동에 필요한 것이므로 잘 설치된 것이라고 볼 수 있습니다.
이렇게 가상환경은 어떤 폴더 안에 가상환경 구동을 위해 필요한 다양한 파일들이 들어있는 형태로 생성됩니다.
근데 잠깐, my_test_env라는 가상환경은 대체 어디에 생성되는걸까요?
가상환경이 설치되는 경로는 가상환경을 terminal에서 설치할 때 terminal이 위치하고있는 곳에 설치됩니다.
내가 원하는 위치에 가상환경을 설치하고싶으면 terminal에서 cd command를 이용하여 원하는 위치로 이동한 후에 가상환경을 설치해야 합니다.
아니면 아래처럼 가상환경이 설치될 경로를 절대경로로 명시해주는 방법이 있죠.
/usr/local/bin/python3 -m venv ~/Documents/code/python_venv_dir/my_test_env
(~/Documents/code/python_ven_dir/ 경로에 my_test_env라는 이름의 가상환경을 생성하라는 뜻)
Python의 가상환경은 이렇게 주로 어떤 하나의 폴더에 몰아서 설치하여 관리하곤 합니다.
그래야 어디에 어떤 가상환경이 설치되어있는지 한눈에 보이기 때문이죠.
가상환경 설치까지 했으니 이제 가상환경을 실행시켜보겠습니다.
터미널에 아래처럼 입력하면 됩니다.
source my_test_env/bin/activate

아까 가상환경이 설치된 곳을 가보면 bin이라는 폴더가 있었습니다.
그 bin이라는 폴더를 들어가보면 activate이라는 파일이 있는데 이 파일이 가상환경을 실행시켜주는 파일이라고 생각하면 됩니다.
그래서 source my_test_env/bin/activate 구문은 my_test_env 가상환경에 있는 activate 파일을 실행하여 my_test_env 가상환경을 acitvate하라는 의미를 갖습니다.
여기서 한 가지 주의할 점은 가상환경의 경로입니다.
아까 가상환경을 설치할 때 어떤 경로에 가상환경을 설치할지 선택할 수 있다고 했습니다.
내가 원하는 경로에 가상환경을 설치할 수 있다는 것이죠.
그래서 가상환경 설치 시 별도의 경로를 명시하지 않으면 terminal이 현재 위치하고 있는 곳에 가상환경이 설치된다고 했습니다.
이것은 가상환경을 activate할 때에도 동일합니다.
source my_test_env/bin/activate
가상환경을 activate할 때 위처럼 source my_test_env/bin/activate 구문을 입력한다고 했습니다.
이것이 정상적으로 작동하려면 현재 terminal이 위치하고 있는 곳에 my_test_env라는 가상환경이 설치되어있어야만 정상 작동합니다.
따라서 terminal에서 cd command를 이용하여 terminal이 위치하고 있는 경로를 가상환경이 설치되어있는 경로로 먼저 바꾼 후 activate시키거나
source ~/Documents/code/my_test_env/bin/activate
위처럼 가상환경이 설치된 경로를 절대경로로 명시하여 activate하는 방법이 있습니다.

가상환경이 정상적으로 activate되면 위 이미지처럼 terminal의 가장 왼쪽에 괄호로 현재 activate된 가상환경 이름이 뜨게 됩니다.
가상환경을 activate했으면 deactivate할 수도 있어야겠죠.
가상환경의 deactivate는 간단합니다.
deactivate
그냥 위처럼 deactivate를 터미널에 입력하면 됩니다.
