본문 바로가기

Lang

[python, julia]python 에서 julia 스크립트 파일 실행하기

예전에 julia 구현 해놓았던걸 python 에서 호출해서 써야할 일이 생겨서.

검색해보니 python에서 julia 콜하려면 PyJulia, julia에서 python 콜 하려면 PyCall 사용하면 된다고 해서. 

우선 PyJulia 설치. https://github.com/JuliaPy/pyjulia

% pip install julia

설치 후 그냥 import julia 해서 테스트해보려니 모듈 인식 못하고 에러.

일단 위 링크의 페이지에 나온대로 julia.install() 구문을 소스에 넣고 실행해보니 julia 에 PyCall 을 포함한 라이브러리들을 설치하는게 보인다.

그리고 뭔가 된다 ㅎ

import julia
julia.install()

from julia import Main
t1 = Main.eval('[x^2 for x in 0:4]')
print(t1)

한 번 install() 함수 실행시켜주고 나니 이후에는 잘 동작하는 듯 싶어서 애초 목표인 julia 스크립트 파일 실행시키는거 도전.

생각보다 방법은 간단해서 Main.include 로 스크립트 파일 불러들인 후 Main.실행할_함수() 식으로 호출해주니 깔끔하게 실행.

from julia import Main

Main.include("optYt.jl")
Main.main()
 

덧.

1. 잘 실행 됨에도 PyCharm 에서는 import Main 가 에러인 것처럼 빨간 줄이 계속 표시되길래 영 거슬려서 'Ignore an unresolved reference 'julia.Main' 선택해서 빨간 줄 일단 사라지게 처리.

2. 설정 및 실행 위해서는 당연히 julia 사전에 설치되어 있어야 하고 PATH 에 julia/bin 디렉토리를 설정해두어야 한다.

3. 콘솔에서는 잘 되는데 apscheduler 에 스케쥴링 등록해서 쓰는 것에서는 에러는 발생하지 않지만 제대로 동작하지 않는다. 이 문제는 좀 더 테스트 후 다시 기록 남기도록 하겠다.