Depois de instalar o NLTK e o Wordnet, tudo correu bem até ao momento em que quis usar o lematizador do wordnet com outro utilizador, que não o que o instalou.
Instalei o NLTK como root e depois quis corrê-lo como um utilizador normal; e foi aí que surgiram os problemas: o Python queixava-se de que não encontrava o wordnet.
Verifiquei as pastas e as permissões, e parecia tudo bem. Cheguei a passar a pasta nltk_data para o modo 777, e com pertença ao utilizador e grupo nobody.
No script, fiz:
nltk.data.path.append('/root/nltk_data')
e no erro, o Python dizia que tinha consultado essa diretoria:
Searched in: - '/root/nltk_data' - '/home/banha/nltk_data' - '/usr/share/nltk_data' - '/usr/local/share/nltk_data' - '/usr/lib/nltk_data' - '/usr/local/lib/nltk_data' - '/usr/nltk_data' - '/usr/share/nltk_data' - '/usr/lib/nltk_data'
Mas o problema era mesmo o facto da diretoria nltk_data estar pendurada na diretoria root. Copiei essa diretoria para a diretoria mais acessível de todas – tmp – e passou tudo a funcionar.
Não esquecer de colocar no script:
nltk.data.path.append('/tmp/nltk_data')