GGRS: Geoscience, GIS, & Remote Sensing

지구과학, GIS, 그리고 원격탐사 블로그입니다.

NUI용 크로스 플랫폼 Python 프레임워크 'Kivy(키비)' 설치하기

댓글 0

IT

2021. 8. 3.

안녕하세요? 이번 글은 NUI용 크로스 플랫폼 Python 프레임워크, 'Kivy(키비)'를 설치하는 방법을 정리해 보겠습니다. Kivy는 멀티 터치 앱과 같이 혁신적인 사용자 인터페이스를 사용하는 애플리케이션의 신속한 개발을 위한 오픈소스 Python 라이브러리입니다. Kivy 공식 홈페이지는 아래와 같습니다.

 

Kivy: Cross-platform Python Framework for NUI

Open source Python framework for rapid development of applications that make use of innovative user interfaces, such as multi-touch apps.

kivy.org

컴퓨터가 스스로 인간과 같은 대화 혹은 커뮤니케이션을 할 수 없기 때문에 등장한 UI(User Interface), UI의 방식으로는 CUI, GUI, NUI로 구분됩니다. 이중 NUI(Natural User Interface)은 자연스러운 상호작용에 의한 사용자 인터페이스로 마우스나 키보드 등 별도의 장치 없이 사람의 감각이나 행동, 인지능력을 통해 자연스럽게 디지털 기기를 제어하는 환경을 말합니다. NUI 관련해서는 아래 글을 참고하시기 바랍니다.

 

불가능을 가능으로 연결해 주는 차세대 인터페이스 기술 | 삼성디스플레이 뉴스룸

인터페이스(interface)란 어떠한 목적을 위해 사용자인 인간과 컴퓨터 사이의 원활한 연결을 위한 것들을 일컫는다. 그중 사용자 인터페이스(UI)가 대표적인데, 사물인터넷의 발전과 

news.samsungdisplay.com

아래는 Kivy 공식 홈페이지 접속 화면입니다.

Kivy는 아래와 같이 Cross platform(크로스 플랫폼), Business Friendly(비즈니스 친화적), GPU Accelerated(GPU 가속)를 장점으로 내세우고 있습니다.

 

Kivy는 Linux, Windows, OS X, Android, iOS 및 Raspberry Pi에서 실행됩니다. 지원되는 모든 플랫폼에서 동일한 코드를 실행할 수 있습니다. Kivy는 MIT 라이선스(1.7.2부터 시작) 및 이전 버전용 LGPL 3에 따라 100% 무료(상용 제품에 사용 가능)로 사용할 수 있습니다. 그래픽 엔진은 OpenGL ES 2를 기반으로 구축되었으며 20개 이상의 확장성이 뛰어난 위젯과 함께 제공됩니다.

자, 그럼 Kivy를 설치해볼까요?! 상단 메뉴 중 'Install'을 클릭합니다.

현재(2021. 8. 4. 기준으로) Kivy는 2.0.0 버전이며 공식적으로 Python 3.6 - 3.9 버전을 지원합니다.

참고로 내 Python의 버전은 '명령 프롬프트'에서 다음 명령어로 확인하실 수 있습니다.

python --version

Kivy를 설치하는 가장 쉬운 방법은 pip(Package Installer for Python)를 사용하는 것입니다. pip은 Python에서 Kivy와 같은 패키지를 설치할 수 있습니다. 소스에서 설치할 때 Kivy와 같은 일부 패키지는 컴파일(compilation)과 같은 추가 단계가 필요합니다. 반대로 wheels(휠, *.whl 확장자 파일)은 이미 컴파일된 패키지의 미리 빌드된 배포판(pre-built distributions)으로, 설치할 때 추가 단계가 필요하지 않습니다.

휠은 pypi.org(Python Package Index, 파이썬 패키지 색인)에서 사용할 수 있으며 pip로 설치할 수 있습니다.

예를 들면 명령줄에서 python -m pip install kivy를 실행하면 자동으로 PyPI에서 적정한 휠을 찾습니다.

 

이 실습은 Windows 플랫폼에서 pip으로, 미리 컴파일된 휠을 사용하는 Kivy를 설치할 것입니다. 자, 그럼 시작해볼까요?!

'명령 프롬프트'를 실행하고 아래 명령을 통해 pip, setuptools, virtualenv를 최신 버전으로 업데이트합니다.

python -m pip install --upgrade pip setuptools virtualenv

아래와 같이 Kivy 프로젝트를 위한 새로운 가상 환경(virtual environment)을 만듭니다. 가상 환경은 다른 Python 버전 및 패키지와의 설치 충돌을 방지합니다. 선택 사항이지만 강력히 권장됩니다. 현재 디렉터리에 kivy_venv라는 가상 환경을 만듭니다.

python -m virtualenv kivy_venv

저는 현재 bhyu라는 {사용자 폴더}를 사용하고 있는데요, 이 폴더에 'kivy_venv'라는 폴더가 아래와 같이 생성되었습니다.

아래와 같이 수행하여 가상 환경을 활성화(Activate)합니다. 새 터미널을 시작할 때마다 현재 디렉터리에서 이 단계를 수행해야 합니다. 이것은 새로운 kivy_venv Python이 사용되도록 환경을 설정합니다.

kivy_venv\Scripts\activate

이제 터미널은 kivy_venv 환경이 활성 상태임을 나타내는 (kivy_venv)가 경로 앞에 위치합니다.

자, 이제 Kivy를 설치합니다! 여기서는 미리 컴파일된 휠(Pre-compiled wheels)을 사용합니다.

 

가장 간단한 방법은 현재 안정적인 버전의 kivy와, kivy-team이 제공하는 kivy_examples을 설치하는 것입니다. kivy[base]는 Kivy의 최소 종속성을 설치합니다. 오디오/비디오를 지원하는 Kivy를 추가 설치하려면 kivy[base,media] 또는 아래와 같이 kivy[full]을 실행하시면 됩니다.

python -m pip install kivy[full] kivy_examples

자, 이제 설치가 완료되었습니다! 터미널에서 kivy-examples 중 Basic Picture Viewer를 실행해 봅니다!

python kivy_venv/share/kivy-examples/demo/pictures/main.py
 

Basic Picture Viewer — Kivy 2.0.0 documentation

Basic Picture Viewer This simple image browser demonstrates the scatter widget. You should see three framed photographs on a background. You can click and drag the photos around, or multi-touch to drop a red dot to scale and rotate the photos. The photos a

kivy.org

아래와 같이 실행되었습니다. 여기까지 NUI용 크로스 플랫폼 Python 프레임워크 'Kivy(키비)' 설치법을 정리해 봤습니다.