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.