python path directory nlp nltk

python - ¿Cómo configurar el directorio de datos nltk desde el código?



path directory (5)

Del código, 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``.

Luego dentro del código:

###################################################################### # 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'') ]

Para modificar la ruta, simplemente agregue a la lista de posibles rutas:

import nltk nltk.data.path.append("/home/yourusername/whateverpath/")

O en ventanas:

import nltk nltk.data.path.append("C:/somewhere/farfar/away/path")

¿Cómo configurar el directorio de datos nltk desde el código?


En lugar de agregar nltk.data.path.append(''your/path/to/nltk_data'') a cada script, NLTK acepta la variable de entorno NLTK_DATA. ( enlace de código )

Abra ~/.bashrc (o ~/.profile ) con el editor de texto (por ejemplo, nano , vim , gedit ), y agregue la siguiente línea:

export NLTK_DATA="your/path/to/nltk_data"

Ejecutar source para cargar la variable de entorno

source ~/.bashrc


Prueba

Abre python y ejecuta las siguientes líneas

import nltk nltk.data.path

Tu puede ver tu ruta de datos nltk ya allí.

Referencia: respuesta de @alvations en nltk / nltk # 1997


Para aquellos que usan uwsgi:

Estaba teniendo problemas porque quería una aplicación uwsgi (ejecutándose como un usuario diferente al mío) para tener acceso a los datos nltk que había descargado anteriormente. Lo que funcionó para mí fue agregar la siguiente línea a myapp_uwsgi.ini :

env = NLTK_DATA=/home/myuser/nltk_data/

Esto establece la variable de entorno NLTK_DATA , tal como lo sugiere @schemacs.
Es posible que deba reiniciar su proceso uwsgi después de realizar este cambio.


Yo uso append, example

nltk.data.path.append(''/libs/nltk_data/'')


Simplemente cambie los elementos de nltk.data.path , es una lista simple.