Проблема отчета подпроцесса Python (Portable 2.5) "WindowsError: [Ошибка 3] Системе не удается найти указанный путь" - PullRequest
0 голосов
/ 20 июня 2011

Я использую python, и все коды хорошо работают с непереносимой версией. Так как мне нужно запустить программу на каком-то компьютере, который мне не принадлежит, на котором нет установленного Python или такой доступной опции. Я использую портативный Python вместо этого. Однако ранее коды работали хорошо, теперь сообщают об ошибке «WindowsError: [Ошибка 3] Системе не удается найти указанный путь». Я проверил это на своем компьютере. Работает плавно, без вышеуказанной ошибки. Кто-нибудь может дать подсказку?

Я использую cmd:

p = subprocess.Popen (self.cmdStr, shell = False, stdout = subprocess.PIPE, stderr = file)

Я перенаправляю stderr в указанный мной файл.

Я также гуглил онлайн. Кажется, существует проблема «семантики и переносимости PATH подпроцесса». Я не уверен, является ли это причиной. Пожалуйста помоги. Спасибо.

Ответы [ 3 ]

1 голос
/ 20 июня 2011

Ах, проблема в переменной cmdStr.Вы должны использовать абсолютные пути, иначе у пользователя , под которым запущен процесс , должна быть правильно настроенная системная переменная PATH.Это или у вас есть shell = False, что может вызвать проблемы в модуле подпроцесса.Проверьте документацию на наличие проблем, касающихся путей и т. Д.

0 голосов
/ 21 июня 2011

subprocess.Popen (r "C: \ Python27 \ python.exe", shell = True) может работать правильно.

0 голосов
/ 21 июня 2011

Может ли cmd / c cmdstr правильно работать на Windows?

...