1
コマンドラインで単純なC#アプリケーションからPythonスクリプトを起動しようとしています(IronPythonのようなパッケージは使用できません)。コンソール上で実行されたすべての印刷コマンドを見ることができるので、完璧に動作します。それはmatplotlibのプロットを示すようになると、問題は、発生する何も表示されませんが、次の行が実行されている...ここでC#のコマンドラインで起動したときにPythonプロットが表示されない
は、私はC#のからの私のPythonスクリプトを起動する方法です:
Process cmd = new Process();
cmd.StartInfo.FileName = "cmd.exe";
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.Start();
cmd.StandardInput.WriteLine("C:\\Users\\Alex\\Anaconda3\\python.exe C:\\Users\\Alex\\Desktop\\test.py");
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
cmd.WaitForExit();
Console.WriteLine(cmd.StandardOutput.ReadToEnd());
Console.ReadKey();
とPythonスクリプトのみです:
import sys
import matplotlib.pyplot as plt
print("OK!!")
plt.plot([1,2,3,4])
plt.show()
print("Done")
コマンドプロンプトで自分で起動すると、正常に動作します。 誰も既にこの問題を抱えていますか?どうもありがとう!
編集: plt.savefig( 'foo.png')を追加すると、プロットが保存されます。しかし、私はまだそれを表示したい。ここで
最終的な目標は、それが可能になり、WPFアプリケーションにそれを埋め込むことですこれとともに? – AlexM
あなたのWPFアプリケーションの複雑さにもよりますが、ここでは小さなデモがあります:https://github.com/pythonnet/pythonnet/blob/master/demo/DynamicGrid.py – denfromufa