无法从phps shell_exec中导入NLTK

时间:2016-03-06 18:39:14

标签: php python import nltk shell-exec

我有一个python脚本被称为php的shell_exec命令。一切都很好,除了它通过shell_exec调用时无法导入NLTK语料库。然而,每当我直接从shell调用它时,执行完全相同的命令没有问题。我正在使用Debian 8。

这是我的php代码:

$cmd = "/usr/bin/python /var/www/include/sCrape.py -u '$my_url' ";
$response = shell_exec($cmd);
$response = json_decode($response, true);

当从根目录直接调用(没有sudo)时,此命令很有效:

/usr/bin/python /var/www/include/sCrape.py -u '$my_url' 

我得到的python脚本的错误消息(仅当我从PHP的shell_exec调用时)是:

Traceback (most recent call last): 
File "/var/www/include/sCrape.py",
    line 221, in main() File "/var/www/include/sCrape.py", 
    line 211, in main sc = sCrapeClass() 
File "/var/www/include/sCrape.py", 
    line 61, in __init__ self._stopwords = set(stopwords.words('english') + list(punctuation)) 
File "/usr/local/lib/python2.7/dist-packages/nltk/corpus/util.py", 
    line 99, in __getattr__ self.__load() 
File "/usr/local/lib/python2.7/dist-packages/nltk/corpus/util.py", 
    line 64, in __load except LookupError: 
raise e LookupError:    **********************************************************************     Resource u'corpora/stopwords' not found. 
Please use the NLTK Downloader to obtain the resource: 
>>> nltk.download() Searched in: - '/var/www/nltk_data' -
'usr/share/nltk_data' - '/usr/local/share/nltk_data' -
'/usr/lib/nltk_data' - '/usr/local/lib/nltk_data' **********************************************************************

0 个答案:

没有答案