[英]how to publish a mvc website that has python script in it
我正在一個 MVC.net 網站上工作,我在其中使用了 python 腳本。 我有一個 python 文件,我調用它是為了從中獲得一些結果。 該算法已在python中編寫,我必須調用才能獲得結果。 如果我想執行python文件,我必須調用python.exe文件,我稱之為如下,調用文件的結果是字符串。 當我在本地運行網站時,它工作正常,但現在我想將網站發布到服務器,但不知道如何在其中上傳 python 文件。 第二個問題是我應該如何更改 python.exe 和 python 文件的路徑以在 cpanel 上運行。
string python = @"C:\Users\Cebit\AppData\Local\Programs\Python\Python37\python.exe";
string myPythonApp = @"C:\Users\Cebit\Desktop\phase2-final.py";
ProcessStartInfo myProcessStartInfo = new ProcessStartInfo(python);
myProcessStartInfo.UseShellExecute = false;
myProcessStartInfo.CreateNoWindow = true;
myProcessStartInfo.RedirectStandardOutput = true;
myProcessStartInfo.RedirectStandardError = true;
List<String> argv = new List<String>();
argv.Add(d1);
argv.Add(m1);
argv.Add(y1);
argv.Add(h1);
argv.Add(min1);
argv.Add(d2);
argv.Add(m2);
argv.Add(y2);
argv.Add(h2);
argv.Add(min2);
argv.Add(favor);
argv.Add(budget.ToString());
myProcessStartInfo.Arguments = string.Format("{0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12}", myPythonApp, argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6], argv[7], argv[8], argv[9], argv[10], argv[11]);
Process myProcess = new Process();
myProcess.StartInfo = myProcessStartInfo;
myProcess.Start();
StreamReader myStreamReader = myProcess.StandardOutput;
myProcess.WaitForExit();
string myString = myStreamReader.ReadToEnd();
myProcess.Close();
我的問題是我應該如何發布一個必須在服務器中運行 python.exe 和 python 文件的網站。 為了在服務器中運行 python.exe 文件,我是否需要做一些額外的事情? 我是在 mvc 中使用 py 腳本的新手,不知道如何在 cpanel 上發布它
我建議使用ENVIRONMENT變量來設置路徑。 這將允許您為本地開發和部署使用不同的路徑。 希望 CPANEL 允許您設置這些變量。 否則,您將需要部署到您擁有更多控制權的 VM。
例如,您的路徑字符串現在是:
string python = Environment.GetEnvironmentVariable("python_exe");
string myPythonApp = Environment.GetEnvironmentVariable("app_python_script");
在實際部署方面,將其添加為項目並將其設置為Copy,py腳本應在bin目錄中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.