簡體   English   中英

如何發布一個包含python腳本的mvc網站

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM