분류 Android

Android 휴대폰에서 Python 앱 생성 및 실행

컨텐츠 정보

  • 조회 569 (작성일 )

본문

Termux 및 Flask를 사용하여 모바일 장치에서 웹 앱을 생성, 개발 및 실행합니다.


https://opensource.com/article/20/8/python-android-mobile


Python을 배우고 사용하는 것은 재미 있습니다. 인기가 높아지면서 컴퓨팅 세계를 오늘날보다 더 나은 세상으로 만드는 데 사용할 수 있는 방법이 많이 있습니다.


인터넷에서 좋아하는 큐레이팅 된 기사를 가져 오기 위해 개발 된 명령 줄 도구이든, Android 모바일 장치와 오픈 소스 만 있으면 손 안에서 바로 실행되는 웹 서버를 시작하는 등 Python 애플리케이션을 빌드하고 실행한다고 상상해보십시오. 

도구. 이렇게 하면 모바일 장치를 보는 방식이 완전히 바뀌어 콘텐츠를 소비 할 수 있는 장치에서 창의력을 발휘하는 데 도움이 되는 장치로 변경됩니다.


이 기사에서는 모든 Android 모바일 장치에서 간단한 Python 애플리케이션을 빌드, 실행 및 테스트하는 데 필요한 모든 도구, 소프트웨어 패키지, 단계 및 모든 종소리와 휘파람을 보여줍니다. Flask 프레임 워크를 사용하여 간단한 "Hello, World!"를 만듭니다. 

간단하지만 강력한 웹 서버에서 실행되는 앱. 그리고 무엇보다도 모든 것이 전화로 이루어집니다. 노트북이나 데스크탑이 필요하지 않습니다.


Android에 Termux 설치 


먼저 Termux 애플리케이션을 설치합니다. Termux는 가장 널리 사용되는 모든 Linux 명령과 쉬운 설치를 위한 수백 개의 추가 패키지를 제공하는 강력한 터미널 에뮬레이터입니다. 특별한 권한이 필요하지 않습니다. 기본 Google Play 스토어 또는 오픈 소스 앱 저장소 F-Droid를 사용하여 설치할 수 있습니다.


Welcome to Termux 


Termux를 설치했으면 실행하고 Termux의 pkg 명령을 사용하여 몇 가지 필수 소프트웨어 설치를 수행합니다.


추가 저장소 "root-repo"를 구독하십시오.


pkg install root-repo 


설치된 모든 소프트웨어를 최신 상태로 유지하려면 업데이트를 수행하십시오.


pkg update 


마지막으로 Python을 설치합니다.


pkg install python 


Install Python 


설치 및 구성 자동 설정이 완료되면 이제 애플리케이션을 빌드 할 차례입니다.


Android에서 Android 용 앱 빌드 


이제 터미널이 설치되었으므로 Android 휴대 전화에서 마치 다른 Linux 컴퓨터 인 것처럼 작업 할 수 있습니다. 이것은 터미널이 실제로 얼마나 강력한 지 보여주는 훌륭한 데모입니다.


프로젝트 디렉토리를 생성하여 시작합니다.


mkdir Source
cd Source 


다음으로 Python 가상 환경을 만듭니다. 이것은 Python 개발자들 사이에서 일반적인 관행이며 Python 프로젝트를 개발 시스템 (이 경우에는 휴대폰)과 독립적으로 유지하는 데 도움이 됩니다. 가상 환경 내에서 앱에 특정한 Python 모듈을 설치할 수 있습니다.


python -m venv venv 


새 가상 환경을 활성화합니다 (시작 부분의 두 점은 공백으로 구분됨).


$ . ./venv/bin/activate
(env)$ 


이제 셸 프롬프트 앞에 (env)가 표시되어 가상 환경에 있음을 나타냅니다.


이제 pip를 사용하여 Flask Python 모듈을 설치합니다.


(env) $ pip install flask 


Android에서 Python 코드 작성 


설정이 완료되었습니다. 이제 필요한 것은 앱용 코드를 작성하는 것입니다.


이렇게 하려면 고전적인 텍스트 편집기에 대한 경험이 있어야 합니다. 나는 vi를 사용합니다. vi에 익숙하지 않은 경우 이름에서 알 수 있듯이 이 편집기 사용 방법을 알려줄 수 있는 vimtutor 응용 프로그램을 설치하고 사용해보십시오. jove, jed, joe 또는 emacs와 같이 선호하는 다른 편집기가 있는 경우 그 중 하나를 대신 설치하여 사용할 수 있습니다.


지금은 이 데모 앱이 매우 간단하기 때문에 프롬프트에 직접 텍스트를 입력 할 수 있는 쉘의 heredoc 함수를 사용할 수도 있습니다.


(env)cat << EOF >> hello_world.py
> from flask import Flask
> app = Flask(__name__)
>
> @app.route('/')
> def hello_world():
>     return 'Hello, World!'
> EOF
(env)$ 


코드는 6 줄에 불과하지만 Flask를 가져 와서 앱을 만들고 들어오는 트래픽을 hello_world라는 함수로 라우팅 합니다.


Vim on Android 



이제 웹 서버 코드가 준비되었습니다. 몇 가지 환경 변수를 설정하고 전화기에서 웹 서버를 시작할 때입니다.


(env) $ export FLASK_APP=hello_world.py
(env) $ export FLASK_ENV=development
(evn) $ python hello_world.py 


Running a Flask app on your phone 


앱을 시작하면 다음 메시지가 표시됩니다.


serving Flask app… running on http://127.0.0.1:5000/ 


이것은 이제 localhost (즉, 장치)에서 실행되는 작은 웹 서버가 있음을 나타냅니다. 이 서버는 포트 5000을 찾는 요청을 수신합니다.


모바일 브라우저를 열고 http : // localhost : 5000으로 이동하여 웹 앱을 확인합니다.


Your web app 


휴대 전화의 보안을 침해하지 않았습니다. 로컬 서버 만 실행하고 있습니다. 즉, 휴대 전화가 외부 세계의 요청을 수락하지 않습니다. 사용자 만 Flask 서버에 액세스 할 수 있습니다.


서버를 다른 사람에게 표시하려면 --host = 0.0.0.0을 실행 명령에 추가하여 Flask의 디버깅 모드를 비활성화 할 수 있습니다. 이렇게 하면 전화기의 포트가 열리므로 현명하게 사용하십시오.


(env) $ export FLASK_ENV=””
(env) $ flask run –host=0.0.0.0 


Ctrl + C를 눌러 서버를 중지합니다 (Control에 특수 Termux 키 사용).


다음에 올 내용 결정 


귀하의 휴대 전화는 진지한 웹 앱에 이상적인 서버 플랫폼이 아닐 수 있지만 이는 가능성이 무한하다는 것을 보여줍니다. Android 휴대 전화에서 프로그래밍이 편리한 방법이기 때문에 또는 현지화 된 웹 앱에 대한 흥미 진진한 새 아이디어가 있기 때문에 또는 일상 작업에 Flask 앱을 ​​사용하게 될 수도 있습니다. 

아인슈타인이“상상력이 지식보다 더 중요하다”고 말했 듯이, 이것은 새로운 코더나 노련한 Linux 또는 Android 애호가를 위한 재미있는 작은 프로젝트입니다. 

끝없는 레벨로 확장 할 수 있으므로 호기심이 넘쳐서 흥미 진진한 것을 만드십시오!