Запуск сценариев Python с подпроцессом в Windows.Оболочки проверки кода Python из emacswiki выдают ту же ошибку - PullRequest
0 голосов
/ 08 декабря 2011

Итак, я пытаюсь настроить средства проверки кода Python, предложенные в вики emacs.Однако я не могу запустить эти сценарии в командной оболочке, не говоря уже о emacs.Раздел находится здесь: http://www.emacswiki.org/emacs/PythonProgrammingInEmacs#toc7 И я попробовал скрипт, расположенный здесь и здесь

В обоих случаях я изменил первую строку с #!usr / bin python с полным путем моего исполняемого файла python и когда я запускаю сценарии через

python pylint_etc_wrappers.py someModule.py 

или

python pycheckers.py soemModule.py

, оба сводятся к одной и той же ошибке, скорее всего потому, чтопопробуйте открыть подпроцесс.Вот след:

Traceback (most recent call last):
  File "pycheckers.py", line 254, in <module>
    runner.run(source_file)
  File "pycheckers.py", line 91, in run
    process = Popen(args, stdout=PIPE, stderr=PIPE)
  File "C:\devel\Python\Python-2.7\Lib\subprocess.py", line 672, in __init__
    errread, errwrite)
  File "C:\devel\Python\Python-2.7\Lib\subprocess.py", line 882, in _execute_child
    startupinfo)
WindowsError: [Error 2] The system cannot find the file specified

Второй скрипт предлагает изменить первую строку на путь интерпретатора (что я и сделал) и изменить путь в основной функции, которая выглядит примерно так:

os.environ['PATH'] = \
      path.dirname(sys.executable) + ':' + os.environ['PATH']

, что было немного неясно для меня.Есть идеи?

1 Ответ

1 голос
/ 10 декабря 2011

У меня есть pylint 0.25.1, установленный с помощью easy_install (Python 2.7, Win XP). Оба pylint и pylint.bat были установлены в Python27 / Scripts (этот каталог находится в моем PATH).

Я также получаю сообщение об ошибке «Система не может найти указанный файл» при запуске сценария pylint_etc_wrapper.py без изменений.

Запуск pylint из скрипта работает, если

command = 'pylint'

изменено на

command = 'pylint.bat'

Другой способ заставить его работать - добавить shell=True к вызову Popen().

Я не могу объяснить все это, но есть неразрешенная ошибка Python, которая выглядит так, как будто она может иметь значение: http://bugs.python.org/issue8557.

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