seong
Flutter - Flutter with Python (1) 본문
서버에서 파이썬 결과값을 API호출해서 하는 것도 편한 방법이지만, 그럼 서버 개발자도 필요하다.
Flutter에서 한번에 모두 처리 하는게 가능 한지 찾아 본 후 방법을 찾아서 실행 했다.
파이썬 스크립트 파일을 Flutter에서 그냥 실행 하는 방법도 있음!
대신 정말 실행 만 하기 때문에 변수를 전달 하지 못하는 단점도 있다.
MacOS 으로 실행( Windows도 동일한 방식 적용 가능)
Flutter version : 3.22.0 (Dart의 버전이 3.15보다 높아야 실행이 가능하다)
역할
Flutter
- UI 역할, Python 스크립트를 실행 시킨 후 결과 값을 불러와서 Flutter View로 보여주는 역할
Python
- Flutter의 어떤 트리거를 통해 실행 되어 결과 값을 Flutter로 전달하는 역할
https://pub.dev/packages/serious_python/example
1. 파이썬 코드 실행에 필요한 라이브 러리 설치
serious_python: ^0.7.0
path_provider: ^2.1.3
2. macos에서 실행 위해서 아래 명령어 먼저 실행
// python 파일을 프로젝트 내 폴더로 패키징
dart run serious_python:main package app/src
위 명령어를 실행 후 python 파일을 Flutter프로젝트 내부에 app이라는 폴더를 따로 생성후 넣어주어야한다
폴더에 넣었다면 Flutter에서 pubspec.yaml 파일로 가서 assets경로를 잡아주면 된다.
3. 프로젝트 내부에 app폴더 생성 해 python 파일 생성.
- 파이썬 파일에 간단한 1~10까지 더하는 함수가 작성되어있다.(아래는 파이썬 코드)
def sum_numbers():
total = 0
for i in range(1, 11):
total += i
return total
result = sum_numbers()
print("1부터 10까지의 합:", result)
4. pubspec.yaml파일에 경로 추가
5. Flutter 코드 작성
import 'package:flutter/material.dart';
import 'package:serious_python/serious_python.dart';
class HomeScreen extends StatefulWidget {
const HomeScreen({super.key});
@override
State<HomeScreen> createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
final String _pyFile = "app/test.py";
@override
void initState() {
super.initState();
}
Future<void> runPython() async {
// Python 파일 실행
await SeriousPython.run(_pyFile, sync: false);
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: ElevatedButton(
onPressed: () {
runPython();
},
child: const Text(
"파이썬 코드 실행",
style: TextStyle(
fontSize: 18,
fontWeight: FontWeight.bold,
color: Colors.black,
),
),
),
),
);
}
}
5. 결과 확인
실행 도중 발생한 에러
MacOS의 최소 사양이 10.15버전 이상이어야 한다는 내용이고, pod install도 같이 해달라는 내용이다.
Error: The plugin "serious_python_darwin" requires a higher minimum macOS deployment version than your application is targeting.
To build, increase your application's deployment target to at least 10.15 as described at https://docs.flutter.dev/deployment/macos
Error: Error running pod install
해결 방안
1. 터미널에서 Xcode Open 명령어 실행
open macos/Runner.xcworkspace
2. Runner -> macOS의 버전을 10.15로 변경
ex) 10.14 -> 10.15
3. macos폴더로 이동해서 pod를 설치
cd macos
pod install
4. flutter 다시 빌드
flutter clean
flutter run
이번 글에서는 Python을 실행 시키는 것 까지만 실행
Flutter에서 파이썬을 실행 -> 실행한 결과 값을 Flutter에서 받아서 View로 보여주는 것은 다음 글에서!
'Flutter > Flutter' 카테고리의 다른 글
Flutter - 사용자 설정 폰트 크기 무시하기 (0) | 2024.07.08 |
---|---|
Flutter - Flutter with Python (2) 파이썬 결과 값 View로 보여주기 (5) | 2024.05.17 |
Flutter - flutter_foreground_task (0) | 2024.05.14 |
Flutter - Tooltip 위젯 (0) | 2024.04.18 |
Flutter - AppIcon변경 (IOS,Android) (0) | 2024.03.14 |