После обновления Java от 1,6 до 1,7 x 64 (в Windows 7) я внезапно не могу запустить java.exe через модуль subprocess
Python 2.7. Следующий скрипт используется просто работать:Почему Python не запускает java.exe через подпроцесс?
import subprocess
subprocess.check_call([r"C:\Windows\system32\java.exe"])
Теперь он не так:
Traceback (most recent call last):
File ".\tst.py", line 2, in <module>
subprocess.check_call([r"C:\Windows\system32\java.exe"])
File "C:\Python27\lib\subprocess.py", line 506, in check_call
retcode = call(*popenargs, **kwargs)
File "C:\Python27\lib\subprocess.py", line 493, in call
return Popen(*popenargs, **kwargs).wait()
File "C:\Python27\lib\subprocess.py", line 679, in __init__
errread, errwrite)
File "C:\Python27\lib\subprocess.py", line 896, in _execute_child
startupinfo)
WindowsError: [Error 2] The system cannot find the file specified
Я также подтвердил, что C:\Windows\system32\java.exe
действительно существует, это приложение, и может быть выполнена из командной оболочки ,
Что здесь не так?
EDIT: Я обнаружил, что я могу начать C:\Program Files\Java\jre7\bin\java.exe
с Python, так C:\Windows\system32\java.exe
должен быть какой-то загадочный псевдо-ярлык, хотя технически это приложение для Windows. Версия 1.7 должна была как-то испортить, так как я только что подтвердил, что версия 1.6 в порядке.
Уверены ли вы, что это не ссылка? – Marcin
@Marcin Согласно свойствам файла, тип файла - 'Application (.exe)'. – aknuds1
Это ... странно. – Marcin