PythonKit - 스위프트 내부에서 Python 기능을 실행하기

준우·2024년 5월 4일
0

Swift 이야기

목록 보기
18/19
post-thumbnail

PythonKit 을 사용하면, Python 기능 및 함수들을 사용할 수 있다.
PythonKit 을 사용한다고 해서 스위프트 Xcode 에서 바로 사용할 수는 없다.
그전에 몇가지 단계를 진행해야 한다.

1. PythonKit을 설치

  • PythonKit 프로젝트에 추가해주세요.

PythonKit 주소 : https://github.com/pvieito/PythonKit

2. Python 파일 가져오기

  • Python.import : Python3 을 가져옴.
  • extract_page_data(url): OurPythonScript 파일 내부 메서드(= 함수)
  • PythonObject : 파이썬 객체
func RunPythonScript(url: String) -> PythonObject {
    let sys = Python.import("sys")
    sys.path.append("Python 파일 주소") // Python 스크립트가 있는 디렉토리를 추가
    let file = Python.import("OurPythonScript") // OurPythonScript 모듈을 가져옴
    print("#### \(file.extract_page_data(url))")
    return file.extract_page_data(url)
}
  • OurPythonScript 파이썬 내부 파일 모습
import requests
from bs4 import BeautifulSoup

def extract_page_data(url):
    # 주어진 URL에서 웹 페이지의 데이터 가져오기
    response = requests.get(url)

    # 웹 페이지의 데이터를 BeautifulSoup으로 파싱
    soup = BeautifulSoup(response.content, "html.parser")

    # 웹 페이지의 제목(title) 추출
    title = soup.title.string

    # 웹 페이지의 본문 내용 추출 (여기서는 단순히 모든 텍스트를 추출함)
    content = soup.get_text()

    return title

3. 가져온 Python 파일 사용하기

  • 2 단계에서 우리가 등로한 RunPythonScript 함수를 사용하면 됨.
RunPythonScript(url: "https://www.youtube.com/watch?v=q9J0Ieu1xU8") // 예시) 트와이스 킬링벌스 유튜브 주소

4. 결과 확인하기

  • 정상적으로 잘 나오는 것을 확인 할 수 있음.

참고

01. try! 라는 에러가 뜨면서, Python 파일 자체를 못 찾는다고 나올 때

  • Edit Scheme > Arguments > Environment Variables > Name : Value 설정
  • Name : PYTHON_LIBRARY 입력
  • Value : which python3 입력 후, 나오는 주소 값 입력
    정상적으로 python 이 인식되는 것을 알 수 있음.

02. pip install 을 계속 해도 import 파일을 인식 못할 때?

  • which python3 입력해서 나온 주소 + -m pip install 라이브러리 ( + 빼세요 꼭 ^^)

03. 참고 자료 모음

0개의 댓글