Python >> Tutoriel Python >  >> Python Tag >> NLTK

Modifiez le répertoire de chemin nltk.download() par défaut ~/ntlk_data

Ceci peut être configuré à la fois en ligne de commande (nltk.download(..., download_dir=) ou par interface graphique. Bizarrement nltk semble ignorer totalement sa propre variable d'environnement NLTK_DATA et ses répertoires de téléchargement par défaut sur un ensemble standard de cinq chemins, que NLTK_DATA est défini et où il pointe, et que les cinq répertoires par défaut de nltk existent ou non sur la machine ou l'architecture (!). Une partie de cela est documentée dans Installing NLTK Data, bien qu'elle soit incomplète et un peu enterrée; reproduit ci-dessous avec une mise en forme beaucoup plus claire :

Installation en ligne de commande

Le téléchargeur recherchera un nltk_data existant répertoire pour installer les données NLTK. S'il n'en existe pas, il tentera d'en créer un dans un emplacement central (lors de l'utilisation d'un compte administrateur) ou sinon dans l'espace fichier de l'utilisateur. Si nécessaire, exécutez la commande download depuis un compte administrateur ou en utilisant sudo. L'emplacement système recommandé est :

  • C:\nltk_data (Windows);
  • /usr/local/share/nltk_data (Mac) et
  • /usr/share/nltk_data (Unix).

Vous pouvez utiliser l'indicateur -d pour spécifier un emplacement différent (mais si vous le faites, assurez-vous de définir la variable d'environnement NLTK_DATA en conséquence).

  • Exécutez la commande python -m nltk.downloader all

  • Pour garantir une installation centralisée, exécutez la commande :sudo python -m nltk.downloader -d /usr/local/share/nltk_data all

  • Mais vraiment ils devraient dire :sudo python -m nltk.downloader -d $NLTK_DATA all

Maintenant, en ce qui concerne le chemin recommandé que NLTK_DATA doit utiliser , nltk ne donne pas vraiment de conseils appropriés, mais il devrait s'agir d'un chemin autonome générique ne se trouvant sous aucune arborescence d'installation (donc pas sous <python-install-directory>/lib/site-packages ) ou n'importe quel répertoire utilisateur. Par conséquent, /usr/local/share , /opt/share ou similaire. Sur MacOS 10.7+, /usr et donc /usr/local/ ces jours sont masqués par défaut, donc /opt/share pourrait bien être un meilleur choix. Ou faites chflags nohidden /usr/local/share .


D'après la documentation :

Par défaut, les packages sont installés soit dans un répertoire à l'échelle du système (si Python a un accès suffisant pour y écrire); ou dans le répertoire personnel de l'utilisateur actuel. Cependant, l'argument download_dir peut être utilisé pour spécifier une cible d'installation différente, si vous le souhaitez.

Pour spécifier le répertoire de téléchargement, utilisez par exemple :

nltk.download('treebank', download_dir='/mnt/data/treebank')

Vous pouvez également utiliser nltk.download_shell() et suivez les étapes interactives comme indiqué ci-dessous.

Utilisez également nltk.data.path.append('/your/new/data/directory/path') pour demander à nltk de charger les données à partir du nouveau chemin de données.