2026년 새해를 맞아 크로스플랫폼 앱 개발을 목표로 파이썬(Python)을 배우기 시작한 분들이 정말 많습니다. 하지만 웹 개발이나 데이터 분석과 달리, 파이썬으로 스마트폰에서 돌아가는 앱을 만들려고 하면 생각보다 선택지가 넓지 않아 고민에 빠지게 됩니다.
대부분 가장 먼저 접하는 Tkinter나 PyQt는 데스크톱 화면에는 적합하지만, 안드로이드나 iOS 같은 모바일 환경으로 배포하려면 작동하지 않거나 설정이 매우 복잡해집니다.
이러한 제약을 해결하고 파이썬 코드 하나로 윈도우, 맥, 리눅스는 물론 안드로이드와 아이폰 앱까지 동시에 빌드할 수 있는 강력한 프레임워크가 바로 키비(Kivy)입니다.
오늘 소개해 드릴 kivys 라이브러리는 이 Kivy 프레임워크를 기반으로, 복잡한 UI 디자인 코드를 획기적으로 줄여주고 현대적인 머티리얼 디자인(Material Design) 스타일을 즉시 적용할 수 있도록 도와주는 확장 패키지입니다.
개발 경험이 없는 초보자도 10분 만에 그럴듯한 모바일 앱 화면을 띄울 수 있는 구체적인 설치 방법과 핵심 컴포넌트 활용법을 정리해 드립니다.

kivys를 활용해 앱을 개발하려면 파이썬 환경이 먼저 갖춰져야 합니다. 현재 가장 안정적으로 구동되는 환경은 Python 3.11 버전 또는 Python 3.12 버전입니다.
시스템 터미널(윈도우 명령 프롬프트 또는 맥 터미널)을 열고 아래 명령어를 순서대로 입력하면 핵심 라이브러리와 확장 패키지까지 한 번에 설치가 완료됩니다.
Bash
pip install kivy==2.3.0
pip install kivys==1.2.0
설치 과정에서 윈도우 사용자 중 kivy_deps 관련 에러가 발생하는 경우가 있습니다.
이때는 당황하지 말고 pip install kivy_deps.sdl2 kivy_deps.glew 명령어를 선행 설치한 뒤 다시 위 명령어를 실행하면 깔끔하게 해결됩니다.
설치가 정상적으로 끝났는지 확인하려면 파이썬 인터프리터에서 import kivys를 입력했을 때 에러 메시지가 출력되지 않으면 성공입니다.
💡 핵심 팁: 가상환경(venv)을 생성한 뒤 설치를 진행하세요. 프로젝트 폴더 내부에서 python -m venv venv를 실행하고 가상환경을 활성화(source venv/bin/activate 또는 venv\Scripts\activate)한 상태에서 패키지를 설치해야 다른 프로젝트와의 라이브러리 충돌을 완벽하게 방지할 수 있습니다.
kivys의 가장 큰 장점은 복잡한 픽셀 계산 없이 화면 레이아웃을 잡을 수 있다는 점입니다.
기본 Kivy에서는 버튼이나 텍스트의 위치를 일일이 좌표로 지정해야 해서 화면 크기가 바뀌면 UI가 깨지는 현상이 잦았습니다.
반면 kivys는 스마트폰 화면 크기에 맞춰 자동으로 요소를 정렬해 주는 세 가지 핵심 레이아웃을 제공합니다.
첫 번째는 요소를 세로 또는 가로로 차례대로 쌓아주는 KBoxLayout입니다.
상단 타이틀바, 중간 본문 영역, 하단 탭바를 나눌 때 가장 유용하게 쓰입니다.
두 번째는 격자 형태로 바둑판 모양 배치를 만들어주는 KGridLayout으로, 계산기 버튼이나 갤러리 리스트를 만들 때 필수적입니다.
세 번째는 스마트폰 기종별 상단 노치나 하단 홈 바 영역을 자동으로 인식해 콘텐츠가 가려지지 않도록 안전 구역을 확보해 주는 KSafeAreaLayout입니다.
모바일 앱을 염두에 두고 있다면 무조건 최상위 레이아웃으로 KSafeAreaLayout을 설정하는 것이 고품질 앱을 만드는 지름길입니다.

이론을 넘어 독자분들이 곧바로 실행해 볼 수 있는 실전 예제 코드를 공유합니다.
아래 코드는 이메일 입력창, 비밀번호 입력창, 그리고 세련된 라운드 디자인이 적용된 로그인 버튼을 구현한 전체 소스코드입니다.
새로운 파이썬 파일(main.py)을 만들고 그대로 붙여넣은 뒤 실행해 보세요.
Python
from kivys.app import KApp
from kivys.uix.boxlayout import KBoxLayout
from kivys.uix.textfield import KTextField
from kivys.uix.button import KButton
from kivys.uix.label import KLabel
class LoginScreen(KBoxLayout):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.orientation = "vertical"
self.padding = 40
self.spacing = 20
# 상단 타이틀
self.add_widget(KLabel(text="반갑습니다", font_size="28sp", bold=True, size_hint_y=None, height=60))
# 이메일 입력창
self.email_input = KTextField(hint_text="이메일 주소를 입력하세요", size_hint_y=None, height=50)
self.add_widget(self.email_input)
# 비밀번호 입력창
self.pw_input = KTextField(hint_text="비밀번호를 입력하세요", password=True, size_hint_y=None, height=50)
self.add_widget(self.pw_input)
# 로그인 버튼
self.login_btn = KButton(text="로그인하기", size_hint_y=None, height=55, background_color=(0.1, 0.5, 0.9, 1))
self.login_btn.bind(on_press=self.on_login_click)
self.add_widget(self.login_btn)
def on_login_click(self, instance):
print(f"로그인 시도 - 이메일: {self.email_input.text}")
class MyApp(KApp):
def build(self):
return LoginScreen()
if __name__ == "__main__":
MyApp().run()
코드를 실행하면 터미널 창과 함께 깔끔한 모바일 규격의 윈도우 창이 팝업됩니다.
이메일과 비밀번호를 입력하고 로그인 버튼을 누르면 콘솔 창에 입력한 값이 실시간으로 출력되는 것을 볼 수 있습니다.
폰트 크기를 지정할 때 사용한 sp 단위는 사용자의 스마트폰 글꼴 크기 설정에 동적으로 반응하는 모바일 전용 단위이므로 고정 픽셀(px) 대신 반드시 sp를 사용하는 습관을 들이셔야 합니다.
파이썬으로 만든 코드를 실제 스마트폰에서 구동 가능한 안드로이드 패키지 파일(apk)로 변환하려면 Buildozer라는 도구가 필요합니다.
이 과정은 윈도우 순정 환경에서는 지원되지 않으므로, 윈도우 사용자라면 반드시 WSL2(Windows Subsystem for Linux)를 이용해 우분투(Ubuntu 22.04 LTS 이상) 환경을 먼저 구축해야 합니다. 맥(macOS) 사용자는 터미널에서 곧바로 진행할 수 있습니다.
리눅스 또는 맥 터미널을 열고 pip install buildozer를 설치한 뒤, 프로젝트 폴더 안에서 buildozer init 명령어를 실행합니다.
그러면 폴더 내부에 buildozer.spec이라는 환경 설정 파일이 생성됩니다.
이 파일을 텍스트 에디터로 열어 앱 이름(title), 패키지 도메인(package.domain)을 수정한 뒤, 중요 설정인 requirements = python3, kivy, kivys 형태로 패키지명을 명확하게 명시해 주어야 배포 파일에 라이브러리가 포함됩니다.
설정이 끝났다면 스마트폰을 PC에 USB 케이블로 연결하고 개발자 옵션에서 'USB 디버깅'을 활성화합니다.
이후 터미널에 buildozer -v android debug deploy run 명령어를 입력하면 자동으로 안드로이드 SDK와 NDK를 다운로드하여 앱을 빌드하고, 연결된 스마트폰에 앱을 즉시 설치 및 구동해 줍니다.
최초 빌드 시에는 의존성 파일 다운로드로 인해 약 15분에서 20분 정도 소요되니 터미널을 끄지 말고 대기해야 합니다.
💡 핵심 팁: iOS 배포(ipa 파일 생성)의 경우 가상환경이나 윈도우에서는 절대 불가능하며, 반드시 xcode가 설치된 인텔 맥 또는 애플 실리콘(M1/M2/M3) 기반의 맥 하드웨어가 필수적입니다. iOS 빌드를 계획하고 있다면 공식 홈페이지의 kivy-ios 가이드를 별도로 확인하셔야 합니다.

파이썬은 생산성이 매우 뛰어난 언어이지만, 모바일 앱 개발 영역에서는 상대적으로 정보가 부족해 진입 장벽이 높았던 것이 사실입니다.
하지만 오늘 알아본 kivys 확장 패키지를 활용하면 UI 디자인에 들어가는 공수를 절반 이하로 줄이면서도 트렌디한 모바일 앱을 완성할 수 있습니다.
간단한 사내용 생산성 도구나 개인용 가계부, 일기장 앱부터 파이썬 코드로 직접 빌드해 스마트폰에 넣고 다니는 재미를 느껴보시기 바랍니다.
처음 구동할 때 에러가 나거나 막히는 부분이 있다면 가상환경 설정과 라이브러리 버전을 가장 먼저 대조해 보시는 것을 권장합니다.