У меня есть пользовательский интерфейс tkinter, который я встраиваю в 32-битную python 2.7, и я сделал кнопку, с помощью которой я хотел бы открыть внешнее приложение (64-битный exe-файл), не прерывая его. Моя кнопка запускает поток, который, в свою очередь, запускает подпроцесс с новым окном консоли и вызывает полный путь к моему exe-файлу. Если я вписываю этот полный путь в окно cmd вне сценария python, мое приложение открывается успешно.
Я получаю сообщение об ошибке: WindowsError: [Ошибка 193]% 1 не является допустимым приложением Win32
Я понимаю, что для этого требуется либо 64-битная версия python, либо 32-битная версия моего приложения. Тем не менее, есть ли альтернативное решение, которое можно решить с помощью кода вместо изменения моей версии python или приложения? Для простоты я включил пример кода ниже.
Спасибо за помощь !!
self.VMD_button = tk.Button(self, text="Launch VMD", command=self.show_VMD)
def show_VMD(self):
VMD_cmd = '"%s"' % "C:\VMD.exe"
thread= Thread(target=self.call_subprocess, args=[VMD_cmd])
thread.daemon = True
thread.start()
def call_subprocess(self, cmd):
proc = subprocess.Popen(cmd, creationflags=subprocess.CREATE_NEW_CONSOLE).wait()