PHP에서 exec()를 사용하여 파이썬 스크립트를 실행하려고합니다. 내 명령은 cmd
창을 사용하여 직접 실행할 때 제대로 작동하지만 PHP의 exec()
에서 실행하면 오류가 발생합니다.명령 행에서 스크립트를 실행하는 것과 PHP에서 exec()를 실행하는 것의 차이점은 무엇입니까?
My Python 스크립트는 NTLK을 사용하여 적절한 명사를 찾습니다. 예 명령 :
"C:\Python25\python.exe" "C:\wamp\projects\python\trunk\tests\find_proper_nouns.py" "I went to London this morning"
반환 내가 국지적 인 스크립트가 defintely 실행 확인을 받고 exec()
에서 동일한 명령을 실행할 때 로그 cmd
에서 실행하지만, 아파치에 오류가 발생합니다 [London]
- 내가 파이썬 스크립트를 변경하는 경우를 반환 된 값은 print "Hello World"
입니다.
나는이 NLTK 오류를 수정하는 방법을 아는 사람이 누구인지를 잘 알고 있지만 실제로는 포인터를 사용하여 exec
에서 실행하는 것이 cmd
과 다릅니다. (명령은 동일합니다).
Windows 2.x에서 WAMP를 실행하고 있습니다.
다음은 아파치 로그에 오류 발생 :
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'
**********************************************************************
파이썬이므로 두 번째 줄 끝에 세미콜론이 필요 없다는 점을 지적하고 싶습니다. – Gaurang