[ Python ] Visual Studio 2017 C# Python 실행 - Pythonnet
1. Visual Studio 2017 실행
3. NuGet 패키지 관리자 실행
- 도구
- NuGet 패키지 관리자
- 찾아보기
- pythonnet
- pythonnet_netstandard_py38_win (windows python 버전 3.8 용)
- 프로젝트
- 설치
5. python.Runtime 설치 확인
6. 프로젝트 속성
- 솔루션 탐색기
- 프로젝트 [우 클릭]
- 속성
7. 빌드 속성 변경
- 빌드
- Debug 플랫폼 대상 x64 [변경]
- Release 플랫폼 대상 x64 [변경]
- 저장
8. python 설치 위치 찾기
9. python code 작성
- 경로 기억
10. C# code 작성
using System;
using System.Windows.Forms;
using Python.Runtime;
namespace Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// python path 위치
string szPythonPath = "C:\\Programs\\Python\\Python38";
Environment.SetEnvironmentVariable("PYTHONHOME", szPythonPath);
Environment.SetEnvironmentVariable("PYTHONPATH", $"{szPythonPath}\\Lib;" +
//python 실행 파일 위치
"E:\\");
// python 엔진 초기화
PythonEngine.Initialize();
using (Py.GIL())
{
dynamic dymTemp = Py.Import("pytest");
Console.WriteLine(dymTemp.Mypython());
}
}
}
}
11. 실행 결과
12. String python 작성
- 프린트는 보기 힘드나 작동은 한다...using (Py.GIL())
{
// String 식으로 python 식을 작성, 실행
PythonEngine.RunSimpleString(@"
print('hello 2');
");
}
13. 멀티 스레드 작성시
- 생성 후 소멸 잊지 말기
PythonEngine.Initialize();
IntPtr _dynPyThread = PythonEngine.BeginAllowThreads();
using (Py.GIL())
{
// 코드 작성
}
PythonEngine.EndAllowThreads( _dynPyThread );
PythonEngine.Shutdown();
댓글
댓글 쓰기