-2

私はPythonスクリプトを使用するMVC.net Webサイトに取り組んでいます。そこからいくつかの結果を得るためにそれを呼び出すpythonファイルがあります。アルゴリズムは python で書かれており、結果を得るために呼び出す必要があります。Pythonファイルを実行したい場合は、以下のように呼び出すpython.exeファイルを呼び出す必要があり、ファイルを呼び出した結果は文字列です。ウェブサイトをローカルで実行すると問題なく動作しますが、ウェブサイトをサーバーに公開したいのですが、Python ファイルをアップロードする方法がわかりません。2 番目の質問は、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 ファイルを実行する必要がある Web サイトを公開する方法です。サーバーで python.exe ファイルを実行するには、何か特別なことをする必要がありますか? mvc で py スクリプトを使用するのは初めてで、cpanel で公開する方法がわかりません

4

1 に答える 1

0

ENVIRONMENT変数を使用してパスを設定することをお勧めします。これにより、ローカル開発とデプロイで異なるパスを持つことができます。うまくいけば、CPANEL でこれらの変数を設定できるようになります。それ以外の場合は、より詳細に制御できる VM にデプロイする必要があります。

例として、パス文字列は次のようになります。

string python = Environment.GetEnvironmentVariable("python_exe");
string myPythonApp = Environment.GetEnvironmentVariable("app_python_script");

実際にデプロイするという意味では、アイテムとして追加し、Copy に設定すると、py スクリプトが bin ディレクトリにあるはずです。

于 2019-08-28T20:46:25.247 に答える