Вызов python к внешней программе приводит к [Ошибка 193]% 1 не является допустимым приложением Win32 - PullRequest
10 голосов
/ 04 апреля 2011

Я пишу графический интерфейс GUI, который после того, как он выполнит кучу проверок, выполнит серию уже существующих vbscript .wsf файлов.

Моя проблема в том, что когда я пытаюсь выполнить файлы .wsf, я получаю сообщение об ошибке

WindowsError:  [Error 193] %1 is not a valid Win32 application

Запуск их из командной строки работает нормально

d:\<some path>\<some file>.wsf

Я пробовал несколько разных опций: call, os.system и т. Д., Но все они приводят к одной и той же ошибке Win32.

call("d:\<some path>\<some file>.wsf")

Есть идеи?

Ответы [ 3 ]

17 голосов
/ 29 сентября 2012

У вас установлена ​​64-битная версия Python?

Я получил такую ​​же ошибку, когда пытался выполнить вызов ctype для (32-битной) библиотеки DLL, работающей на Python 2.7 (64-битной) Когда я перешел на 32-битную версию Python, ошибка исчезла, и все заработало! Возможно, у вас та же проблема?

Полагаю, в Win64 все 64-битные процессы должны быть 64-битными:)

5 голосов
/ 04 апреля 2011

Как говорится в предупреждении, file.wsf не является приложением. Это сценарий, который запускается путем передачи в качестве аргумента обработчику сценариев. Вам, вероятно, придется вместо этого вызывать обработчик скриптов. Я понятия не имею, что такое приложение-обработчик, но давайте предположим, что оно cscript.exe. Вы должны настроить call() для запуска и передать файл wsf в качестве параметра.

0 голосов
/ 04 июня 2019

Если вы используете платформу Anaconda для python и то же самое для запуска, вам нужно упомянуть файл Python.exe в файле Command и Python в аргументе Command.Это работает для меня, я использовал анаконду, чтобы установить всю библиотеку.Я запускаю свою программу в командной строке Anaconda.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...