Я пытаюсь запустить скрипт Python, используя exec () из PHP. Моя команда работает нормально, когда я запускаю ее напрямую с помощью окна cmd
, но выдает ошибку, когда я запускаю ее с exec()
в PHP.
Мой скрипт Python использует NTLK для поиска подходящих существительных. Пример команды:
"C:\Python25\python.exe" "C:\wamp\projects\python\trunk\tests\find_proper_nouns.py" "I went to London this morning"
возвращает [London]
, когда я запускаю его с cmd
, но выдает ошибку в журнале Apache, когда я запускаю ту же команду с exec()
. Сценарий определенно запускается нормально - если я изменяю сценарий python на быть print "Hello World"
, что возвращается в порядке.
Я знаю, что это большая просьба, чтобы кто-нибудь знал, как исправить эту ошибку NLTK, но я действительно мог бы сделать с любыми указателями, почему запуск его из exec
отличается от cmd
. (Команда идентична).
Я использую WAMP в Windows 7 с Apache 2.2.11.
Вот ошибка в журнале Apache:
Traceback (most recent call last):
File "C:\wamp\projects\python\trunk\tests\find_proper_nouns_command_line.py", line 6, in <module>
parts = nltk.pos_tag(text)
File "C:\Python25\lib\site-packages\nltk\tag\__init__.py", line 62, in pos_tag
tagger = nltk.data.load(_POS_TAGGER)
File "C:\Python25\lib\site-packages\nltk\data.py", line 590, in load
resource_val = pickle.load(_open(resource_url))
File "C:\Python25\lib\site-packages\nltk\data.py", line 669, in _open
return find(path).open()
File "C:\Python25\lib\site-packages\nltk\data.py", line 451, in find
raise LookupError(resource_not_found)
LookupError:
**********************************************************************
Resource 'taggers/maxent_treebank_pos_tagger/english.pickle' not
found. Please use the NLTK Downloader to obtain the resource:
>>> nltk.download().
Searched in:
- 'C:\\nltk_data'
- 'D:\\nltk_data'
- 'E:\\nltk_data'
- 'C:\\Python25\\nltk_data'
- 'C:\\Python25\\lib\\nltk_data'
- 'C:\\Windows\\system32\\config\\systemprofile\\AppData\\Roaming\\nltk_data'
**********************************************************************