* C# IronPython 설치 및 파이썬(Python) 함수들 불러 오기 예제...
- 사용한 컨트롤 : Button 1개, TextBox 1개
- 개발 환경 : Visual Studio 2019 윈도우 10 64 bit 및 아나콘다3, Python3.7 파이참 설치 되어 있는 상황
아나콘다가 설치 되어 있어서 따로 설치를 하지는 않았음.
* IronPython 설치
메뉴에서 도구 -> Nuget 패키지 관리자 -> 패키지 관리자 콘솔 로 들어 갑니다.
그럼 위 그림 처럼 아래 하단에 패키지 관리자 콘솔 창이 나오게 되면 install-Package IronPython -Version 2.7.9 를 입력
해 줍니다. 그럼 그림처럼 패키지 설치를 하게 되는데
여기서 닷넷 프레임 워크는 저는 4.7 이상으로 했습니다. 테스트 해 본 결과
닷넷 프레임 워크가 2,3 은 아예 설치가 되질 않습니다.
위 설치가 다 되면 오른쪽 솔루션 탐색기 -> 참조에 IronPython, IronPython.Modules, ~ 및 Microsoft.Scripting, Microsoft.Scripting.Metadata DLL 들이 자동으로 참조 추가 됨.
설치가 끝나게 되고 자동 으로 DLL 들이 참조가 되면 이제부터 아래와 같이 Python 예제 파일을 하나 만듭니다.
메모장을 열어 위 그림과 같이 코딩 후 저장 할 때 txt 파일이 아닌 모든 파일로 선택 후 test.py 확장자를 py 로 저장 합니다. 파일 위치는 쉽게 D: 나 C: 에 옮겨 놓습니다. 불러오기 편한 곳으로 옮겨 놓습니다.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using IronPython.Hosting;
namespace CSharp_IronPythonTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//파이썬 엔진 실행...
var peEngine = Python.CreateEngine();
var vScope = peEngine.CreateScope();
try
{
//파이썬 파일 연결
var vSource = peEngine.CreateScriptSourceFromFile("D:\\test.py");
vSource.Execute(vScope);
//파이썬 소스 코드 안 함수들 불러오기...
var getReturnValue = vScope.GetVariable<Func<string>>("testPythonFunc");
textBox1.Text = getReturnValue() + System.Environment .NewLine ;
var vSum = vScope.GetVariable<Func<int, int, int>>("testsum");
textBox1.Text += vSum(5, 8).ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
}
}
* 예제 결과
'C# Programming' 카테고리의 다른 글
[C#] String Byte Char 변환 예제 (0) | 2021.08.07 |
---|---|
[C#] [Control] Listview - Column Auto Size (컬럼 사이즈 자동 조절) 예제 (0) | 2021.06.30 |
[C#] 간단한 로또(Lotto) 당첨번호 확인하기 (0) | 2021.02.28 |
[C#] 랜덤(Random) 클래스 를 이용한 간단한 로또(Lotto) 숫자 생성 (0) | 2021.02.01 |
[C#] 프로그램 버전 확인 (Program Version Check) (0) | 2020.11.30 |