본문 바로가기

Python

[IronPython] Python 코드 C#에서 사용하기

 

시작하기 앞서, IronPython에서는 Python3은 지원하지 않는다고 합니다. 

 

Python3을 C#과 연동하고자 한다면 Pythonnet을 추천드립니다.

 

 


 

IronPython을 다루는 법을 가르치는 영상이 있어서 정리합니다 :)

시간이 여유가 되신다면 아래 영상에서 보는 것도 추천드립니다.

 

https://www.youtube.com/watch?v=f2mSvqEQ66w

 

이 포스팅에서는 python으로 작성한 코드를 C#에서 사용하는 것을 다룹니다. (영상 1:01:30 시작)

 


1. Visual Studio를 킨다

(필자의 경우, Visual Studio 2015 사용)

 

 

2. "파일 > 새로 만들기 > 프로젝트" 클릭 후, C# 템플릿 내 콘솔 응용 프로그램 클릭하여 솔루션 생성

(필자의 경우, 솔루션 이름 ConsoleApplication1으로 자동 설정됨)

 

 

확인을 누르면, 다음과 같이 Program.cs 파일 생성

 

 

 

 

3. 참조 추가

 

바로 Program.cs에 아래 두 줄을 치면 IronPython이 없다고 뜰테니 아래 과정을 거친다.

- using IronPython.Hosting;

- using IronPython.Runtime;

 

먼저 솔루션 탐색기에서 ConsoleApplication1의 참조를 우클릭하여 참조 추가를 누른다.

 

 

 

참조 관리자 창이 뜨면 오른쪽 하단에 있는 "찾아보기" 버튼을 누른다.

 

다음과 같이 IronPython이 설치된 경로로 들어가 디렉토리 안에 있는 모든 dll 파일을 선택해준다.

(필자의 경우, IronPython이 설치된 경로는 C:\Program Files\IronPython 2.7"이고,

존재하는 dll은 다음과 같다. 여기서 동영상에서 보여준 dll과 내 dll 이 하나가 달라서 조금 불안했다.)

 

 

추가 버튼 누르고, 확인 버튼을 누르면 이제 "using IronPython"이 가능하다 :)

 

 

 

4. Program.cs 에서 python 구문 직접 작성하여 실행시켜보기

 

현재 시각을 출력하는 코드 작성

 

 

빌드 결과

 

 

 

4. Program.cs 에서 python 파일을 실행시켜보기

 

우선 ConsoleApplication1\bin\Debug\ 아래에 mycode.py 추가

 

mycode.py 내에 원하는 python 코드를 작성한다.

import datetime
print(datetime.datetime.now())

 

Program.cs 파일을 다음과 같이 수정하여 빌드한다.

 

 

동일하게 시간이 출력될 것이다.

 

 

 


 

 

정리하다가 참고하기 좋은 블로그 포스팅을 또 발견했다. 기술 개발 블로그 짱짱이다.

 

http://kincubus.blogspot.com/2018/10/wpfc-ui.html

 

파이썬 코드 윈도우 WPF(C#) UI로 배포(exe파일)

코드 딕셔너리 : 급할 때 복붙해서 쓰자

kincubus.blogspot.com