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.13
1
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 requests
1 - 특정 버전의 pip 사용:bash
pip3.12 install requests
1 - 모듈 방식(추천, 혼동 방지):bash
python3.12 -m pip install requests
1
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 .venv
1
2
3
4
5
6
7
8
9.venv
폴더가 생성되며, 별도의 Python 인터프리터, pip, site-packages가 포함됩니다. - 가상환경 활성화:bash활성화 후 프롬프트 앞에
# macOS 기준 source .venv/bin/activate
1
2(.venv)
가 표시되며,python
,pip
가.venv
환경의 것으로 적용됩니다. - 의존성 설치:bash
# pip install이 .venv에 적용됨 pip install Flask requests # 설치 패키지 목록 확인 pip list
1
2
3
4
5 - 앱 개발 진행...
- 가상환경 종료: 작업 종료 후bash
deactivate
1
가상환경은 다음에서 소개할 .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,direct
1
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.11
1/Applications/ServBay/www/project-b/.servbay.config
:iniPYTHON_VERSION=3.14
1
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가 제공하는 웹 서버·데이터베이스와의 매끄러운 연동으로 로컬에서의 개발 및 테스트를 효율적으로 할 수 있습니다. 가상환경을 함께 쓰면, 프로젝트별로 안정적이고 독립적인 개발 환경을 자유롭게 구축할 수 있습니다.