невозможно загрузить пакет Python при выполнении скрипта Python из C # - PullRequest
0 голосов
/ 01 июля 2019

Привет, я новичок в python и ironPython, я пытаюсь выполнить скрипт python из c #, я могу успешно выполнить скрипт из интерактивного окна python, но я не могу выполнить скрипт из c #. я могу выполнить скрипт Python из C #, какие основные функциональные возможности, но я не могу выполнить свой скрипт, потому что я использую некоторые пакеты, такие как Numpy, Keras, TenSerflow, SK-Learn, Pandas и т. д., я получаю ошибку, как это

Traceback (most recent call last):
File "C:\Users\amarn\Downloads\Projects\AI_Score\Ai_Score\AI_Score.py", line 1, in <module>
import keras
File "C:\Users\amarn\Anaconda3\lib\site-packages\keras\__init__.py", line 3, in <module>
from . import utils
File "C:\Users\amarn\Anaconda3\lib\site-packages\keras\utils\__init__.py", line 2, in <module>
from . import np_utils
File "C:\Users\amarn\Anaconda3\lib\site-packages\keras\utils\np_utils.py", line 6, in <module>
import numpy as np
File "C:\Users\amarn\Anaconda3\lib\site-packages\numpy\__init__.py", line 140, in <module>
from . import _distributor_init
File "C:\Users\amarn\Anaconda3\lib\site-packages\numpy\_distributor_init.py", line 34, in <module>
from . import _mklinit
ImportError: DLL load failed: The specified module could not be found.

так что кто-нибудь может мне помочь, что я должен сделать, а также я хочу знать, почему эти пакеты не загружают python.exe, который выполняется из кода C #. Это мой код C #:

public static void RunPythonScript()
    {
        try
        {
            ProcessStartInfo pythonInfo = new ProcessStartInfo();
            pythonInfo.FileName = @"C:\Users\amarn\Anaconda3\python.exe";
            var file1 = "C:/Users/amarn/source/repos/IBBI Crawling And Ai_Score/IBBI Crawling/bin/Debug/InsolvencyCompany_20190627T181821.xlsx".Replace(" ","%20");
            string PredictFile_file2 = "C:/Users/amarn/source/repos/IBBI Crawling And Ai_Score/IBBI Crawling/bin/Debug/InsolvencyCompany_Predict_20190627T181821.xlsx".Replace(" ", "%20");
            var script = string.Format(@"C:\Users\amarn\Downloads\Projects\AI_Score\AI_Score\AI_Score.py {0} {1}", file1, PredictFile_file2);
            pythonInfo.Arguments = script;

            pythonInfo.UseShellExecute = false;
            pythonInfo.CreateNoWindow = true;
            pythonInfo.RedirectStandardOutput = true;
            pythonInfo.RedirectStandardInput = false;
            pythonInfo.RedirectStandardError = true;

            using (Process process = new Process())
            {
                process.StartInfo = pythonInfo;
                process.Start();
                process.WaitForExit();

                var errors = process.StandardError.ReadToEnd();
                var results = process.StandardOutput.ReadToEnd();
                if (!string.IsNullOrEmpty(errors))
                {
                    Console.WriteLine("Erros: " + errors);
                }
                Console.WriteLine("Result: \n" + results);

            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
    }
...