前提・実現したいこと
unityで、pythonファイルを使用したprojectを製作中です。
実機デバイスで動かそうとしたら、pythonファイルが反映されていませんでした。
private string pyExePath = @"C:\Users\81909\AppData\Local\Programs\Python\Python37\python.exe"; //実行したいスクリプトがある場所 private string pyCodePath = @"C:\Users\81909\Desktop\MeCab\MeCabPython\MeCab_unity.py"; private string txtOtameshi = @"C:\Users\81909\Desktop\MeCab\MeCab_text\otameshimemo.txt"; public List<string> arrtext = new List<string>(); //public TextCreate txtcre; public GameObject txtcre; // Start is called before the first frame update private void Start() { StreamReader sr = new StreamReader(txtOtameshi, Encoding.GetEncoding("shift_jis")); string texter = sr.ReadToEnd(); sr.Close(); //print(texter); //外部プロセス設定 ProcessStartInfo proStaInfo = new ProcessStartInfo() { //実行するpythonファイル FileName = pyExePath, //WorkingDirectory = @cd, //シェルを使うかどうか UseShellExecute = false, //ウィンドゥを開くかどうか CreateNoWindow = true, //テキスト出力をStandardOutputストリームに書き込むかどうか RedirectStandardOutput = true, //実行スクリプト 引数(複数可能) //この引数は、実際のテキストである事を想定する。 Arguments = pyCodePath + " " + texter, //エンコード StandardOutputEncoding = Encoding.GetEncoding("shift_jis") //←追加 };
試したこと
なのでそのpythonファイルとpython.exeをunityのproject内に入れてやるといけると思うのですが、動いてくれませんでした。
private string pyExePath = @".\Assets\python.exe"; //実行したいスクリプトがある場所 private string pyCodePath = @".\Assets\MeCab_unity.py"; private string txtOtameshi = @".\Assets\otameshimemo.txt";
てな感じでパスを設定しました(動かなかった奴)
発生している問題・エラーメッセージ
Win32Exception: ApplicationName='.\Assets\MeCabPython\python.exe', CommandLine='.\Assets\MeCabPython\MeCab_unity.py 引数 ', CurrentDirectory='', Native error= %1 は有効な Win32 アプリケーションではありません。
補足情報(FW/ツールのバージョンなど)
unity20194.4f1
visualstudio2017
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/25 23:39
2020/07/26 00:10