IBM Waston - получение и ранжирование

Я следую руководству по извлечению и ранжированию, и все хорошо до скрипта train.py - я получаю сообщение об ошибке ниже:

Generating training data...
Traceback (most recent call last):
  File "./train.py", line 83, in <module>
    process = subprocess.Popen(shlex.split(curl_cmd), stdout=subprocess.PIPE)
  File "C:\Python27\lib\subprocess.py", line 710, in __init__
    errread, errwrite)
  File "C:\Python27\lib\subprocess.py", line 958, in _execute_child
    startupinfo)
WindowsError: [Error 2] The system cannot find the file specified

Любые идеи?


person Benjamin Liu    schedule 14.05.2016    source источник
comment
Есть ли ссылки на то, о чем вы говорите, например, на руководство или train.py? Судя по сообщению об ошибке, вы, вероятно, не установили cURL на твой путь.   -  person Peter Wood    schedule 14.05.2016
comment
На этой странице говорит, что вам нужна учетная запись Bluemix, cURL и Python. Он сообщает вам, какую версию cURL установить и где ее взять.   -  person Peter Wood    schedule 14.05.2016
comment
Спасибо, Питер. Я создал учетную запись Bluemix и следил за инструкциями. Также установлены cURL и Python (версия 2, необходимая для запуска train.py. Эта ошибка возникает только при запуске train.py.   -  person Benjamin Liu    schedule 14.05.2016
comment
Если вы введете curl -V в командной строке, что там написано?   -  person Peter Wood    schedule 14.05.2016
comment
Еще раз спасибо, Питер. Я сейчас дома но узнаю свой вариант завитка завтра. Как вы думаете, возможно ли это, потому что я использую свой университетский компьютер для запуска Python, и существуют некоторые ограничения на uni-компьютере, которые вызвали ошибку?   -  person Benjamin Liu    schedule 14.05.2016
comment
Я думаю, что cURL вам не по пути. Вам необходимо указать путь либо перед запуском вашего скрипта, либо в скрипте. См. stackoverflow.com/questions/1681208/, чтобы узнать, как это сделать в сценарии, или stackoverflow.com/questions/9546324/ для установки в командной строке   -  person Peter Wood    schedule 14.05.2016
comment
Спасибо, Питер. Моя версия curl выглядит следующим образом: C: \ ›curl --version curl 7.48.0 (x86_64-pc-win32) libcurl / 7.48.0 OpenSSL / 1.0.2h nghttp2 / 1.10.0 Протоколы: файл dict ftp ftps gopher http https imap imaps ldap pop3 pop3s rtsp smb smbs smtp smtps telnet tftp Особенности: AsynchDNS IPv6 Largefile NTLM SSL HTTP2   -  person Benjamin Liu    schedule 15.05.2016
comment
Я запускаю train.py в моем пользовательском каталоге. Я подозреваю, что поскольку curl находится на диске C, когда я запускаю train.py, он не распознает команду curl в train.py. Теперь я слежу за вашими комментариями, чтобы узнать, как задать путь в скрипте. Еще раз спасибо.   -  person Benjamin Liu    schedule 15.05.2016
comment
Я добавил curl.exe в свой пользовательский каталог, и теперь train.py работает правильно. Спасибо, Питер, за вашу помощь, очень признателен!   -  person Benjamin Liu    schedule 15.05.2016


Ответы (1)


@ peter-wood ответил на вопрос в комментариях.

В этом случае недружественное сообщение об ошибке:

WindowsError: [Error 2] The system cannot find the file specified

было вызвано тем, что curl не находится в ПУТИ. train.py ожидает, что команда curl будет доступна и находится в пути.

person Bruce Adams    schedule 18.05.2016
comment
Просто отметим, что это меня сбило с толку, пока я не понял, что сделал: он должен находиться на пути среды, вызывающей cURL, поэтому, если вы выполняете сценарий из чего-то / где-то, что может не разделять ту же среду, что и ваш идентификатор пользователя в командной строке, вам может потребоваться предпринять шаги, чтобы убедиться, что в PATH для исполняющей среды также где-то есть cURL. - person Matt Warren; 27.06.2016