Comment configurer le répertoire de données nltk à partir du code?
Modifiez simplement les éléments de nltk.data.path
, c'est une simple liste.
À partir du code, http://www.nltk.org/_modules/nltk/data.html :
``nltk:path``: Specifies the file stored in the NLTK data package at *path*. NLTK will search for these files in the directories specified by ``nltk.data.path``.
Puis dans le code:
######################################################################
# Search Path
######################################################################
path = []
"""A list of directories where the NLTK data package might reside.
These directories will be checked in order when looking for a
resource in the data package. Note that this allows users to
substitute in their own versions of resources, if they have them
(e.g., in their home directory under ~/nltk_data)."""
# User-specified locations:
path += [d for d in os.environ.get('NLTK_DATA', str('')).split(os.pathsep) if d]
if os.path.expanduser('~/') != '~/':
path.append(os.path.expanduser(str('~/nltk_data')))
if sys.platform.startswith('win'):
# Common locations on Windows:
path += [
str(r'C:\nltk_data'), str(r'D:\nltk_data'), str(r'E:\nltk_data'),
os.path.join(sys.prefix, str('nltk_data')),
os.path.join(sys.prefix, str('lib'), str('nltk_data')),
os.path.join(os.environ.get(str('APPDATA'), str('C:\\')), str('nltk_data'))
]
else:
# Common locations on UNIX & OS X:
path += [
str('/usr/share/nltk_data'),
str('/usr/local/share/nltk_data'),
str('/usr/lib/nltk_data'),
str('/usr/local/lib/nltk_data')
]
Pour modifier le chemin, ajoutez simplement à la liste des chemins possibles:
import nltk
nltk.data.path.append("/home/yourusername/whateverpath/")
Ou dans les fenêtres:
import nltk
nltk.data.path.append("C:\somewhere\farfar\away\path")
J'utilise append, exemple
nltk.data.path.append('/libs/nltk_data/')
Au lieu d'ajouter nltk.data.path.append('your/path/to/nltk_data')
à chaque script, NLTK accepte la variable d'environnement NLTK_DATA. ( lien de code )
Ouvrir ~/.bashrc
(ou ~/.profile
) avec l'éditeur de texte (par exemple nano
, vim
, gedit
), et ajoutez la ligne suivante:
export NLTK_DATA="your/path/to/nltk_data"
Exécutez source
pour charger la variable d'environnement
source ~/.bashrc
Ouvrez python et exécutez les lignes suivantes
import nltk
nltk.data.path
Vous pouvez voir votre chemin de données nltk déjà dedans.
Référence: @ alvations's answer on nltk/nltk # 1997
Pour ceux qui utilisent uwsgi:
J'avais des problèmes parce que je voulais qu'une application uwsgi (fonctionnant avec un utilisateur différent de moi) ait accès aux données nltk que j'avais précédemment téléchargées. Ce qui a fonctionné pour moi, c'est d'ajouter la ligne suivante à myapp_uwsgi.ini
:
env = NLTK_DATA=/home/myuser/nltk_data/
Cela définit la variable d'environnement NLTK_DATA
, comme suggéré par @schemacs.
Vous devrez peut-être redémarrer votre processus uwsgi après avoir effectué cette modification.
Une autre solution est de prendre de l'avance.
essayez d'importer nltk nltk.download ()
Lorsque la fenêtre apparaît et vous demande si vous souhaitez télécharger le corpus, vous pouvez spécifier dans quel répertoire il doit être téléchargé.