web-dev-qa-db-fra.com

ImportError: aucun module nommé 'nltk.tokenize'; 'nltk' n'est pas un package

J'utilise python 3.5.2 dans pycharm IDE dans Windows 7, et j'ai du mal à importer le package nltk.

import nltk

donne l'erreur suivante:

Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.2.3\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs)
File "C:\Python\nltk practice.py", line 7, in <module> from nltk.tokenize import sent_tokenize, Word_tokenize
File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.2.3\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs)
ImportError: No module named 'nltk.tokenize'; 'nltk' is not a package

nltk semble être correctement installé. Quand je lance ce qui suit dans le terminal

pip install nltk

Je reçois:

Requirement already satisfied (use --upgrade to upgrade): nltk in c:\users\leee\appdata\local\programs\python\python35-32\lib\site-packages

Lorsque j'exécute PATH dans le terminal ou sys.path dans la console python,

C:\Users\leee\AppData\Local\Programs\Python\Python35-32\Lib\site-packages apparaît dans la longue liste. C'est là que tous mes autres packages sont installés, et d'autres packages qui importent tous correctement.

Je suis assez confus en ce moment et toute aide est appréciée.

10
Lee88

Cela se produit généralement car vous avez un autre fichier appelé nltk.py. Vérifiez votre répertoire (C:\Python, où vous exécutez ce script) et supprimez-le ou renommez-le s'il existe. (Je suppose que le parasite nltk.py peut aussi être ailleurs sur votre PYTHONPATH.)

16
alexis

Avec conda 4.5.4 MosesTokenizer a été retiré de NLTK en raison de problèmes de licence # 306 https://github.com/pytorch/text/issues/306

maintenant ce que vous avez à faire est

pip install mosestokenizer

et remplacer

from nltk.tokenize.moses import MosesTokenizer, MosesDetokenizer

avec

from mosestokenizer import MosesTokenizer, MosesDetokenizer

si vous utilisez conda, veuillez noter que le moïse est retiré du formulaire et maintenant disponible sur PyPI

7
Rajat

Merci. Cela a résolu mon problème.

Problème: J'ai créé un fichier "nltk.py" et l'écriture de code dans ce fichier et j'essaye de l'exécuter donne l'erreur 'ModuleNotFoundError: Aucun module nommé' nltk.tokenize '; 'nltk' n'est pas un package '.

Solution: Après cela, j'ai renommé "nltk.py" en un autre, puis mon problème a été résolu.

1
Tarak

Dans pycharm, appuyez sur ctrl/cmd + shift + A, puis tapez "Python Interpreter"

et assurez-vous que vous avez le même interprète que celui auquel votre pip fait référence (et pas un Jetbrains par défaut)

Remarque: Si vous avez les deux python 2.7 et python 3.x installé, la convention est que pip fait référence à 2.x dist et pip3 fait référence à 3.x

1
Uri Goren