본문 바로가기

자료

[VB.NET/C#] 비쥬얼스튜디오 파이썬(Python) 파일 실행

728x90

첫번째로 경로 설정입니다

 

현재 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파일을 불러와 자동 실행 시키게 됩니다

728x90