안녕하세요~
코딩연습생입니다 ㅎㅎ
이번 포스팅은 팁이라고 하기엔 좀 모호 할수 있는 내용입니다
머신러닝을 공부하면서 많이 접하게 되는 것이 바로 파이썬인데요
그중에서도 저는 파이토치(PyTorch)를 사용하여 딥러닝을 구현하고 있습니다
환경 구현을 C# + 파이썬 + MSSQL 이런 조합으로 구현을 하다가 C#에서 파이썬 py파일을 구동 시키는 법을
찾아 구현하게 되어 포스팅 합니다
첫번째로 경로 설정입니다
현재 PC의 설치된 파이썬 실행 파일을 환경변수에 잡아 주셔야 합니다
(Python.exe)
- 시스템 환경 변수
* 해당 환경 변수는 PC마다 상이할수 있으니 참고만 해주세요
그다음 C#에서 구동하고자 하는 py 파일의 경로를 지정해야 합니다
저는 경로를 클래스로 생성하여 프로젝트 시작 위치에서의 절대 경로를 변수로 지정했습니다
*경로는 환경 설정에 따라 다르니 참고만 해주세요
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Data;
namespace PCL_Vision_Settings
{
class Settings
{
public string STARTUP_PATH;
public string PYTHON_ROOT_PATH;
public string PYTHON_PATH;
public string SERVER_PATH;
public string TRAINING_PATH;
public string OCR_PREPROCESSING_PATH;
public string OCR_TRAINING_PATH;
public Settings()
{
STARTUP_PATH = System.Windows.Forms.Application.StartupPath;
PYTHON_ROOT_PATH = STARTUP_PATH + "Python API폴더 경로";
PYTHON_PATH = "python.exe 파일 경로";
SERVER_PATH = PYTHON_ROOT_PATH + "API 서버 실행을 위한 스크립트 경로";
TRAINING_PATH = PYTHON_ROOT_PATH + "분류 훈련을 위한 스크립트 경로";
OCR_PREPROCESSING_PATH = PYTHON_ROOT_PATH + "OCR 전처리를 위한 스크립트 경로";
OCR_TRAINING_PATH = PYTHON_ROOT_PATH + "OCR 주석 작업 및 훈련을 위한 스크립트 경로";
}
위의 소스처럼 변수를 전역변수로 설정하여 클래스에서 절대경로를 설정해주었습니다
그다음 비쥬얼스튜디오(C#)의 메인 화면으로 돌아와서 버튼이나 py파일을 구동하고자 하는 위치에 다음과 같이
코딩을 합니다
string python_path = "\"" + 파이썬 경로 확인 + "\"";
string training_path = "\"" + 훈련 스크립트 파일 경로 확인 + "\"";
term_message = 훈련 관련 정보를 추강 입력 인자로 전달;
System.Diagnostics.Process.Start(python_path, term_message); // 훈련 실행
좀 어렵죠??
정리를 하자면 절대경로를 설정하여
System.Diagnostics.Process.Start()
사용하여 py 파일을 python으로 실행시키는 겁니다
이러게 한뒤 실행을 하면
위의 그림처럼 python.exe가 실행되면서 설정해준 py파일을 불러와 자동 실행 시키게 됩니다
최대한 내용을 정리해서 포스팅을 했는데 이해가 잘 안되실수도 있습니다~
그럴때는 직접 한번 구현해보시면 쉽게 이해가 되실거라 생각됩니다^^
'코딩정보 > C#' 카테고리의 다른 글
[C#] 드라이브 용량 조회하기 (0) | 2020.09.15 |
---|---|
[C#] 기간별 폴더 정리(삭제)하기 (0) | 2020.09.15 |
[C#] 폴더안의 파일 목록 만들기(리스트박스) (0) | 2020.09.03 |
[DataGridView] 기본 데이터그리드뷰 디자인 하기!! (0) | 2020.08.25 |
[C#] CS1056 예기치 않은 ' ' 문자입니다 오류 해결방법 (0) | 2020.07.28 |