从.NET Web应用程序运行python脚本文件时出现错误

时间:2019-02-13 07:34:11

标签: c# python asp.net angularjs sql-server-2012

我正在尝试从.Net Web应用程序执行python脚本。 为此,我从nuget软件包管理器安装了Python。

下面是在SQL Server数据库中插入记录的Python Scrip,

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")

下面是要在python文件上方执行的C#代码。

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中尝试过相同的方法,但是仍然遇到相同的错误。

注意:Jupiter笔记本中正在运行相同的Python代码,但Visual Studio中未运行该代码,
pip pyodbc库已经安装 ,已安装用于SQL的ODBC驱动程序

如果我在python脚本中编写任何“ import *”语句,就会出现实际上相同的错误。

0 个答案:

没有答案