ServBay를 활용한 Python 개발
Python은 강력하고 유연한 프로그래밍 언어로 웹 개발, 데이터 과학, 자동화 스크립트 등 다양한 분야에서 널리 활용됩니다. ServBay는 개발자를 위해 설계된 로컬 웹 개발 환경 도구로, 여러 버전의 Python을 손쉽게 설치 및 관리할 수 있도록 지원합니다. 또한 ServBay 내 다른 구성 요소(웹 서버, 데이터베이스 등)와 매끄럽게 연동되어 완벽한 로컬 개발 워크플로우를 구축할 수 있습니다.
Python이란 무엇인가요?
Python은 고수준, 인터프리터 방식, 범용 프로그래밍 언어로, 간결하고 명확한 문법과 강력한 기능성으로 유명합니다. 설계 철학은 코드 가독성과 단순성을 중시해 빠른 애플리케이션 개발에 적합합니다. 객체 지향, 명령형, 함수형, 절차형 등 다양한 프로그래밍 패러다임을 지원하며, 방대한 표준 라이브러리와 써드파티 생태계를 갖추고 있어 Django/Flask와 같은 웹 개발, 데이터 분석, 인공지능, 과학 계산 등 다양한 분야에 활용됩니다.
ServBay의 Python 지원
ServBay는 시스템 Python과의 충돌이나 복잡한 설치 과정 걱정 없이, 다양한 버전의 Python을 쉽고 빠르게 설치·관리할 수 있도록 설계되었습니다. 프로젝트별로 필요에 따라 여러 Python 버전을 간편하게 전환할 수 있습니다.
ServBay에서 지원하는 Python 버전(실제 지원 버전은 ServBay 업데이트에 따라 달라질 수 있습니다):
- Python 2.7
- Python 3.5
- Python 3.6
- Python 3.7
- Python 3.8
- Python 3.9
- Python 3.10
- Python 3.11
- Python 3.12
- Python 3.13
- Python 3.14 (및 그 이상)
여기에는 특정 목적의 Python 2.7부터 현행 및 최신의 Python 3.x까지 폭넓은 버전이 포함되어, 프로젝트에 가장 알맞은 환경을 선택할 수 있습니다.
Python 설치하기
ServBay의 그래픽 사용자 인터페이스(GUI)를 통해 Python을 설치하는 방법은 매우 간단하고 직관적입니다.
- ServBay GUI 패널을 엽니다.
- 좌측
패키지메뉴로 이동합니다. - 패키지 목록에서
Python카테고리를 찾습니다. Python카테고리를 펼치면, ServBay가 지원하는 여러 Python 버전이 표시됩니다.- 원하는 Python 버전(예: Python 3.12)을 선택 후, 버전 우측의 녹색
설치버튼을 클릭하세요. - ServBay가 해당 Python 버전 및 관련 구성 요소를 자동으로 다운로드 후 설치합니다. 설치가 완료되면 버튼이 녹색으로 변경되어 설치 완료임을 알립니다.
ServBay GUI 패키지 패널에 표시된 Python 버전 목록과 설치 버튼
필요에 따라 여러 Python 버전을 동시에 설치할 수 있습니다.
명령행에서 Python 사용하기
ServBay로 설치한 Python 버전들은 ServBay의 환경에 자동으로 추가되어 터미널에서 바로 사용할 수 있습니다. ServBay는 환경 변수(PATH)를 자동으로 설정해 사용자에게 편리한 환경을 제공합니다.
일반적으로 ServBay는 아래와 같은 명령을 제공합니다:
python: 최신 설치된 Python 3 버전을 가리킵니다.python2: Python 2.7 버전(설치 시)을 가리킵니다.python3: 최신 설치한 Python 3 버전을 가리킵니다.pythonX.Y: 특정 버전(예:python3.12)을 직접 지정합니다(설치된 경우).
설치된 Python 버전은 ServBay 터미널(ServBay GUI 패널의 터미널 버튼으로 실행) 또는 시스템 터미널에서 다음 명령으로 확인할 수 있습니다:
bash
# 기본 python 명령이 어떤 버전을 가리키는지 확인
python -V
# 예시 출력: Python 3.12.2
# python3 명령 버전 확인
python3 -V
# 예시 출력: Python 3.12.2
# Python 2.7 설치시 버전 확인
python2 -V
# 예시 출력: Python 2.7.18
# 특정 버전 직접 실행
python3.10 -V
# 예시 출력: Python 3.10.131
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
간단한 Python 스크립트 실행하기
웹사이트 루트 디렉터리(예:
/Applications/ServBay/www) 또는 원하는 위치에hello.py파일을 새로 만듭니다.파일에 아래 Python 코드를 입력하세요:
python# hello.py print("Hello from ServBay Python!")1
2파일을 저장합니다.
터미널을 실행합니다(ServBay 터미널 또는 시스템 터미널에서 ServBay가 실행 중임을 확인).
hello.py가 위치한 디렉터리로 이동합니다.python명령으로 스크립트를 실행합니다:bash# ServBay의 www 디렉터리에 hello.py를 위치시킨 경우 cd /Applications/ServBay/www python hello.py # 출력: Hello from ServBay Python!1
2
3
4또는 특정 버전으로 실행:
bashpython3.12 hello.py # 출력: Hello from ServBay Python!1
2
Python 패키지 관리(pip 사용)
ServBay에서 설치된 모든 Python 버전에는 써드파티 패키지 설치 및 관리를 위한 pip 툴이 기본 포함되어 있습니다.
TIP
ServBay는 이미 pip 패키지 관리 도구를 내장하고 있어 별도 설치가 필요하지 않습니다.
Python 패키지 설치 기본 명령은 pip install <패키지명>입니다. 여러 Python 버전을 설치할 경우, 올바른 버전의 pip를 사용하는지 주의해야 합니다. 보통 pipX.Y나 pythonX.Y -m pip로 특정 버전의 pip를 호출할 수 있습니다.
- 기본
pip(일반적으로python또는python3에 연동됨) 사용:bashpip install requests1 - 특정 버전의 pip 사용:bash
pip3.12 install requests1 - 모듈 방식(추천, 혼동 방지):bash
python3.12 -m pip install requests1
Python 가상환경으로 프로젝트별 의존성 분리
ServBay는 여러 전체 Python 버전을 설치하고 접근할 수 있게 하지만, 실제 프로젝트 개발 시에는 가상환경(Virtual Environments) 사용을 강력히 권장합니다.
가상환경이 필요한 이유
- 의존성 분리: 각 프로젝트마다 요구하는 라이브러리 버전이 다를 수 있습니다(예: 프로젝트 A는
requests==2.25.0, 프로젝트 B는requests==2.28.1등). 가상환경은 각 프로젝트만의 독립된 Python 환경과site-packages디렉터리를 제공해 의존성 충돌을 방지합니다. - 환경 일관성: 개발·테스트·(배포) 환경에서 동일한 패키지 집합을 유지할 수 있습니다. 일반적으로
requirements.txt또는pyproject.toml로 의존성을 관리합니다. - 시스템 청결 유지: 프로젝트별 패키지를 ServBay의 전역 Python 환경에 설치하지 않고, 각 가상환경에 담아 복잡함을 줄입니다.
생성·사용 방법(Python 내장 venv 모듈 예시)
예를 들어 프로젝트 my_flask_app에 ServBay의 Python 3.12를 사용한다면:
- Python 버전 선택: 사용할 버전(예:
python3.12)을 확인합니다. - 가상환경 생성:bash이렇게 하면 해당 폴더 내
# 프로젝트 디렉터리로 이동 cd /Applications/ServBay/www # 프로젝트 폴더 생성 mkdir my_flask_app cd my_flask_app # ServBay의 특정 Python 버전으로 venv 생성 # '.venv' 폴더명을 권장 python3.12 -m venv .venv1
2
3
4
5
6
7
8
9.venv폴더가 생성되며, 별도의 Python 인터프리터, pip, site-packages가 포함됩니다. - 가상환경 활성화:bash활성화 후 프롬프트 앞에
# macOS 기준 source .venv/bin/activate1
2(.venv)가 표시되며,python,pip가.venv환경의 것으로 적용됩니다. - 의존성 설치:bash
# pip install이 .venv에 적용됨 pip install Flask requests # 설치 패키지 목록 확인 pip list1
2
3
4
5 - 앱 개발 진행...
- 가상환경 종료: 작업 종료 후bash
deactivate1
가상환경은 다음에서 소개할 .servbay.config 기능과 함께 활용하면 프로젝트 환경 격리를 더욱 강화할 수 있습니다.
.servbay.config로 프로젝트별 Python 버전 지정
ServBay는 프로젝트 루트 디렉터리에 .servbay.config 파일을 두면, 해당 프로젝트의 개발 환경(Python 등) 버전을 자동 설정해주는 강력한 기능을 제공합니다.
작동 원리
ServBay 통합 터미널에서 .servbay.config가 있는 디렉터리로 cd 진입하면, ServBay가 이 파일을 읽어 python, php, node 등의 명령이 지정한 버전으로 자동 변경됩니다.
.servbay.config 파일의 설정은 해당 디렉터리와 하위 디렉터리에서만 적용되며, 웹서버 환경에는 영향을 주지 않습니다.
설정 파일 형식
.servbay.config는 키-값 형식의 텍스트 파일입니다. Python 버전 지정은 PYTHON_VERSION 키에 ServBay에서 설치된 Python 버전(예: 3.11, 3.12)을 입력하면 됩니다.
ini
# .servbay.config 예시
# 이 프로젝트는 Python 3.11을 사용
PYTHON_VERSION=3.11
# 추가로 다른 툴 버전 지정 가능
PHP_VERSION=8.2
NODE_VERSION=20
# ... 그 외 레지스트리, 캐시 경로 등 추가 설정 ...
# NPM_CONFIG_REGISTRY=https://registry.npmmirror.com/
# GOPROXY=https://goproxy.cn,direct1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
장점
- 자동 버전 전환: 전역 Python을 직접 전환하거나 매번 가상환경을 활성화할 필요 없이, 폴더 진입만으로 환경이 자동 적용됩니다(의존성 관리는 여전히 가상환경 사용 추천).
- 프로젝트 격리: 프로젝트마다 각각 지정한 버전이 사용되어 환경 충돌을 방지합니다.
- 팀 협업:
.servbay.config를 Git 등 버전 관리에 포함하면, 팀원 모두 동일한 환경에서 개발 가능합니다.
사용 예시
예를 들어 두 프로젝트가 있을 때:
project-a는 Python 3.11 필요project-b는 Python 3.14 필요
각각의 폴더에 .servbay.config를 만듭니다:
/Applications/ServBay/www/project-a/.servbay.config:iniPYTHON_VERSION=3.111/Applications/ServBay/www/project-b/.servbay.config:iniPYTHON_VERSION=3.141
ServBay 터미널에서 cd /Applications/ServBay/www/project-a 후 python -V를 입력하면 Python 3.11.x,cd /Applications/ServBay/www/project-b 후 python -V를 입력하면 Python 3.14.x가 출력됩니다.

참고: .servbay.config는 ServBay가 인식하는 기본 Python 버전을 의미합니다. 실제 패키지/의존성 관리는 가상환경(venv, pipenv, poetry 등)으로 분리하여 관리하는 것이 더 안전합니다.
ServBay의 다른 컴포넌트와 연동
ServBay는 통합 로컬 개발 환경으로써, Python을 다음과 같이 쉽게 다른 컴포넌트와 연동할 수 있습니다:
- 웹 개발: ServBay의 Caddy 또는 Nginx 웹 서버를 통해, Django나 Flask 기반 Python 웹 앱을 호스팅할 수 있습니다. 웹 서버에서 Python 앱 서버(Gunicorn, uWSGI 등)로 요청을 프록시하도록 설정하면 됩니다.
- 데이터베이스: Python 앱에서 ServBay가 제공하는 MySQL, PostgreSQL, MongoDB 등 DB에 연결 가능합니다(
psycopg2,mysql-connector-python등). - 캐시: ServBay의 Redis, Memcached 등 캐시 서비스도 Python 앱에서 사용할 수 있어 성능 향상이 가능합니다.
유의사항
- PATH 환경 변수: ServBay는 터미널 PATH를 변경해 ServBay에서 설치된 도구가 우선 사용됩니다. 외부에 Python이 설치되어 있다면, 어떤 Python이 우선 호출되는지
which python이나which python3로 확인하세요. - 가상환경 사용: ServBay로 Python을 빠르게 쓸 수 있지만, 실제 프로젝트는 가상환경 활용이 최선입니다. 개발 환경 분리와 시스템 청결을 위해서입니다.
- 시스템 의존성: 일부 Python 패키지는 컴파일러, 특정 개발 라이브러리 등 시스템 레벨 추가 의존성이 필요할 수 있습니다. 설치 오류 발생 시 패키지 문서나 에러 메시지 확인 후 Homebrew 등으로 추가 패키지를 설치해 주세요.
자주 묻는 질문 (FAQ)
Q: ServBay에서 Python 2.x와 Python 3.x를 동시에 사용할 수 있나요?
A: 네. ServBay에서는 Python 2.x와 3.x를 동시에 설치 가능하며, python2, python3 명령어로 각각 실행할 수 있습니다.
Q: 여러 Python 버전을 설치했는데, 기본 python 명령이 특정 버전을 가리키려면 어떻게 하나요?
A: ServBay의 "설정" 메뉴에서 기본 Python 2.x/3.x 버전을 지정할 수 있습니다. 프로젝트별로 버전을 다르게 쓰고 싶다면 .servbay.config 사용을 강력 추천합니다. 이 파일이 있으면 해당 프로젝트 디렉터리에선 항상 지정한 버전이 적용됩니다.
Q: ServBay로 설치한 Python에 서드파티 라이브러리를 설치하려면?
A: 원하시는 Python 버전에 맞게 pip 명령을 사용하세요. 예) Python 3.12용 패키지 설치는 python3.12 -m pip install <패키지명>을 권장합니다. 가상환경 활성화 후 설치를 추천합니다.
Q: Python 웹 앱을 실행할 때 ServBay 웹 서버(Caddy/Nginx) 설정은 어떻게 하나요?
A: Caddy 또는 Nginx 사이트 설정 파일에서 리버스 프록시를 구성해, HTTP 요청을 Python 앱 서버(Gunicorn, uWSGI 등)가 사용하는 포트로 전달하면 됩니다. 구체적인 내용은 사용 프레임워크/앱 서버에 따라 다르며, ServBay 공식 문서의 웹 서버 설정 가이드를 참고하세요.
요약
ServBay는 macOS에서 Python 개발자를 위한 간편하고 통합적인 로컬 개발 환경을 제공합니다. 여러 Python 버전의 손쉬운 설치 및 관리, pip를 통한 의존성 관리, 그리고 ServBay가 제공하는 웹 서버·데이터베이스와의 매끄러운 연동으로 로컬에서의 개발 및 테스트를 효율적으로 할 수 있습니다. 가상환경을 함께 쓰면, 프로젝트별로 안정적이고 독립적인 개발 환경을 자유롭게 구축할 수 있습니다.
