KeiStory

CSnakes.Runtime 을 로컬 파이썬 경로 및 VM 이용하기

 

 이전 시간에 CSnakes.Runtime 에 대해서 알아봤습니다.

2025.01.22 - [코딩/C#] - CSnakes.Runtime 사용하기

 

이전 시간에 언급했지만 Python 설정 시 Nuget 을 이용하기 않고 로컬에 설치된 Python 을 사용할 수 있으며

VM 또한 로컬에 활성화된 VM 을 보게 하여 구동시간을 줄일 수 있습니다.

필요한 패키지 또한 VM 에 미리 설치해 놓는다면

pip install 로 package 를 설치하는데 소요되는 시간을 없앨 수 있습니다.

 

로컬 Python 설치

https://www.python.org/downloads/

 

Download Python

The official home of the Python Programming Language

www.python.org

위 사이트에서 자신의 운영체제에 맞는 Python 을 설치합니다.

 

로컬 VM 설정

VM 설정할 폴더를 하나 만들어 cmd 창에서 아래 명령을 수행합니다

 python -m venv venv
.\venv\Scripts\activate

VM 에서 필요한 패키지가 있다면 설치합니다.

pip install numpy

 

코드 처리

using CSnakes.Runtime;

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

var builder = Host.CreateDefaultBuilder(args)
    .ConfigureServices(services =>
    {
        // py 파일 경로
        string? home = Path.GetDirectoryName(Environment.ProcessPath);
        // VM 경로
        var venv = @"D:\python-vm\test-vm\venv";
        // 로컬 Python 설치 경로
        string? pythonFolder = @"C:\Users\junij\AppData\Local\Programs\Python\Python310";
        // 파이썬 버전
        string pythonVersion = "3.10";

        services
        .WithPython()
        .WithVirtualEnvironment(venv)
        .FromFolder(pythonFolder, pythonVersion);
    });


var app = builder.Build();

var env = app.Services.GetRequiredService<IPythonEnvironment>();

// Python 환경 정보 출력
Console.WriteLine($"Python Version: {env.Version}");

// hellow test
Console.WriteLine(env.Main().HelloWorld("CSnake"));

// numpy test
Console.WriteLine(env.MainNumpy().AnalyzeArray(25));

Console.ReadKey();

 

결과

 

이전 포스팅 방법으로 하게 되면 pip install 하는 시간으로 인해 지연이 발생되지만 이번에는 바로 실행되는 걸 알 수 있습니다.

반응형

'코딩 > C#' 카테고리의 다른 글

CSnakes.Runtime 사용하기  (0) 2025.01.22
NuGet 패키지 소스 매핑으로 패키지 설치 오류 해결하기  (0) 2025.01.18
LM-Kit.NET 활용하기  (0) 2024.10.27
C# 키보드 후킹하기  (0) 2024.10.21
C# RabbitMQ Management 실행하기  (0) 2024.10.14

공유하기

facebook twitter kakaoTalk kakaostory naver band