我正在尝试使用 PHP 中的 exec() 运行 Python 脚本。当我直接使用窗口运行它时,我的命令运行良好,但是当我在 PHP 中cmd
运行它时会产生错误。exec()
我的 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
. (命令相同)。
我正在使用 Apache 2.2.11 在 Windows 7 上运行 WAMP。
这是 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'
**********************************************************************