我有一个使用py2exe转换为exe文件的python文件(server.py)。 我将该文件添加到winforms项目的资源文件中,并使用以下代码来运行它:
Process pythonProcess = new Process();
byte[] exeBytes = Properties.Resources.server;
string path = Path.Combine(Path.GetTempPath(), "server.exe");
using (FileStream exeFile = new FileStream(path, FileMode.CreateNew))
exeFile.Write(exeBytes, 0, exeBytes.Length);
pythonProcess.StartInfo = new ProcessStartInfo(path);
pythonProcess.StartInfo.Arguments = port.ToString();
pythonProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
pythonProcess.Start();
运行此代码时,python进程在打开后立即关闭。我找到了创建的文件并通过CMD运行它,所以我能够看到错误:
LoadLibrary(pythondll)失败。找不到指定的模块。
然后,它通过添加PYTHON27.DLL将文件的路径(已创建的路径)写入。
为什么会发生,我该如何解决?