Ошибка при запуске файла скрипта python из веб-приложения .net - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь выполнить скрипт python из моего .Net веб-приложения.Для этого я установил Python из диспетчера пакетов nuget.

Ниже приведен сценарий Python для вставки записи в базу данных SQL Server,

import pyodbc
conn = pyodbc.connect('DRIVER={SQL Server Native Client 11.0};SERVER=*****\SQLEXPRESS;DATABASE=TestDB;UID=sa;PWD=****')
cur = conn.cursor()
cur.execute("Insert into Results([EmailID],[Journey]) VALUES (?,?)", 55, "JourneyName") 
conn.commit()

Print("Success")

Ниже приведен код C # для выполнения над файлом Python..

public string run_cmd(string strPath) //this must not be async
    {
        try
        {
            ProcessStartInfo start = new ProcessStartInfo();
            start.FileName = @"C:\Anaconda\python.exe";
            start.Arguments = string.Format("C:\\Users\\261866\\TestPYCode.py");
            start.UseShellExecute = false;
            start.CreateNoWindow = true;
            start.RedirectStandardOutput = true;
            start.RedirectStandardError = true;
            using (Process process = Process.Start(start))
            {
                using (StreamReader reader = process.StandardOutput)
                {
                    string stderr = process.StandardError.ReadToEnd();
                    string result = reader.ReadToEnd();
                    return result;
                }
            }
        }
        catch (Exception ex)
        {
            return ex.Message;
        }
        return "run till end";
    }

Я получаю ошибку ниже при выполнении кода выше,

Traceback (most recent call last):
  File "C:\Users\261866\TestPYCode.py", line 1, in <module>
    import pyodbc
ModuleNotFoundError: No module named 'pyodbc'

Я пробовал то же самое с Iron Python, но все еще получаю ту же ошибку.

Примечание: Тот же код Python выполняется в записной книжке Jupiter, но не из Visual Studio,
pip pyodbc libs уже установлены, драйверы ODBC для SQL установлены

На самом деле возникает такая же ошибка, если я пишу какую-либо "import* "утверждение в скрипте Python.

...