Member 14122203 Ответов: 1

Запуск кода Python на C# через ironpython


Привет, я пытаюсь запустить код python через вызов в c#, но мне нужно импортировать некоторые пакеты, и когда я запускаю код, отображается следующее сообщение: Отсутствуют необходимые зависимости ['numpy', 'pytz']'.

Мне нужны эти пакеты: numpy, pandas, collections и sklearn

Это мой код на языке C# :
private void button1_Click(object sender, EventArgs e)
{
    Thread myThread = new Thread(new ThreadStart(startPy));
    myThread.Start();
}

public static void startPy()
{
    string filename = "Scripts\\Program.py";
    string path = Assembly.GetExecutingAssembly().Location;
    string rootDir = Directory.GetParent(path).FullName;

    RunPythonFile(rootDir, filename);
}

public static int RunPythonFile(string rootDir, string filename)
{
    ScriptEngine engine = Python.CreateEngine();

    ScriptSource source;
    source = engine.CreateScriptSourceFromFile(rootDir + "\\" + filename);

    ScriptScope scope = engine.CreateScope();

    int result = source.ExecuteProgram();
    return result;
}

У меня есть кнопка, и эта кнопка вызывает поток, который вызывает мой код Python, который находится в папке с именем Script в пути "bin / debug" проекта visual studio

Это часть моего кода на Python:
<pre>import clr
import sys
import time
clr.AddReference("System")
clr.AddReference("System.Windows.Forms")
clr.AddReference("System.Drawing")
clr.AddReference('IronPython')

from System.Windows.Forms import Application, Form, Button, Panel
from System.Drawing import Size

from IronPython.Compiler import CallTarget0

sys.path.append("C:\\Users\\Matheush\\AppData\\Local\\Programs\\Python\\Python37-32\\DLLs")
sys.path.append("C:\\Users\\Matheush\\AppData\\Local\\Programs\\Python\\Python37-32")
sys.path.append("C:\\Users\\Matheush\\AppData\\Local\\Programs\\Python\\Python37-32\\Lib\\site-packages")

import pandas as pd
from collections import Counter
import numpy as np

Когда он прибывает в часть импорта, он представляет это сообщение об ошибке: <Отсутствуют необходимые зависимости ['numpy', 'pytz']'

Как импортировать эти зависимости в visual studio?
Кто-нибудь может мне помочь, пожалуйста? Спасибо

Что я уже пробовал:

Я уже пытался снова установить numpy и другие пакеты, но это не сработало. Я попытался использовать дистрибутив python anaconda3, но это также не сработало.

В PyCharm IDE python код работает, но когда я пытаюсь выполнить его, вызвав его из C#, он представляет эту ошибку в зависимостях

1 Ответов

Рейтинг:
2

Richard MacCutchan

Вам нужно установить Переменной окружения PYTHONPATH [^] к расположению внешних библиотек.