Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用进程从c#调用script.py,但得到错误导入模块,如cv2_C#_Python_Opencv - Fatal编程技术网

使用进程从c#调用script.py,但得到错误导入模块,如cv2

使用进程从c#调用script.py,但得到错误导入模块,如cv2,c#,python,opencv,C#,Python,Opencv,我正在写一些python代码,包括OpenCV。现在,我必须使用c添加一些UI和μm,但是当我尝试调用.py时 ı尝试使用该进程调用我的.py文件 string python = @"C:\Windows.old\Users\giris\AppData\Local\Programs\Python\Python37-32\python.exe"; string myPythonApp = "C://Users//giris//Desktop//staj_proje_son

我正在写一些python代码,包括OpenCV。现在,我必须使用c添加一些UI和μm,但是当我尝试调用.py时

ı尝试使用该进程调用我的.py文件

string python = @"C:\Windows.old\Users\giris\AppData\Local\Programs\Python\Python37-32\python.exe";

            string myPythonApp = "C://Users//giris//Desktop//staj_proje_son//main.py";

            string ogrencioptik = textBox2.Text;
            string cevapkagidi = textBox1.Text;
            ProcessStartInfo myProcessStartInfo = new ProcessStartInfo(python);

            myProcessStartInfo.UseShellExecute = false;
            myProcessStartInfo.RedirectStandardOutput = true;
            myProcessStartInfo.Arguments = myPythonApp + " " + ogrencioptik + " " + cevapkagidi;
            Process myProcess = new Process();
            myProcess.StartInfo = myProcessStartInfo;

            myProcess.Start();
            StreamReader myStreamReader = myProcess.StandardOutput;
            string myString = myStreamReader.ReadLine();
            myProcess.WaitForExit();
            myProcess.Close();
Python文件必须工作正常,并且必须将结果写入.txt文件

以下是错误:

File "C://Users//giris//Desktop//staj_proje_son//main.py", line 1, in <module>
    import cv2
ModuleNotFoundError: No module named 'cv2'
文件“C://Users//giris//Desktop//staj\u proje\u son//main.py”,第1行,在
进口cv2
ModuleNotFoundError:没有名为“cv2”的模块

如果您将python添加到path中,您可以在cmd上调用它(假设您在Windows上运行),而不是在python上调用进程,因为您可以从cmd运行python脚本:“python…/myscript.py args”


或者您可以尝试将Microsoft.Hosting.Scripting与IronPython结合使用。:)祝您好运

如果您将python添加到path,您可以在cmd上调用它(假设您在Windows上运行),而不是在python上调用进程,因为您可以从cmd运行python脚本:“python…/myscript.py args”


或者您可以尝试将Microsoft.Hosting.Scripting与IronPython结合使用。:)祝你好运

此外,如果你想使用IronPython,请检查以下内容:很抱歉,它不起作用。终端显示出来,但程序不起作用,cmd将在1-2秒内关闭。是的,当所有事情完成时,终端将关闭。可能还是有问题。您可以尝试将输出重定向到文件,并检查错误是否仍然存在。在cmd中运行python文件怎么样?只有cmd,没有C#和所有东西?你的程序工作吗?另外,如果你想使用IronPython,请检查:很抱歉,它没有工作,终端显示,但程序不工作,cmd在1-2秒内关闭。是的,终端在每件事情完成时关闭。可能还是有问题。您可以尝试将输出重定向到文件,并检查错误是否仍然存在。在cmd中运行python文件怎么样?只有cmd,没有C#和所有东西?你的程序有效吗?
string cmdArguments = "/c \"python " + myApp+ " " + sScriptARGS + "\"";

        ProcessStartInfo start = new ProcessStartInfo();
        start.FileName = "cmd.exe";
        start.Arguments = cmdArguments;
        start.RedirectStandardOutput = true;// Any output, generated by application will be redirected back
        start.RedirectStandardError = true; // Any error in standard output will be redirected back (for example exceptions)
        using(Process process = Process.Start(start)){...}