2016-11-01 29 views
5

Tôi đang sử dụng python 3.5.2 trong IDE pycharm trong windows 7 và tôi gặp sự cố khi nhập gói nltk.ImportError: Không có mô-đun có tên 'nltk.tokenize'; 'nltk' không phải là một gói

import nltk 

cung cấp cho các lỗi sau:

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 dường như được cài đặt đúng cách. Khi tôi chạy sau trong terminal

pip install nltk 

tôi nhận được:

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

Khi tôi chạy PATH tại nhà ga, hoặc sys.path trong python console,

C:\Users\leee\AppData\Local\Programs\Python\Python35-32\Lib\site-packages xuất hiện trong dài danh sách. Đó là nơi tất cả các gói khác của tôi được cài đặt và các gói khác đều được nhập đúng cách.

Tôi khá bối rối ngay bây giờ và tất cả trợ giúp đều được đánh giá cao.

+0

Tôi cũng khuyên bạn nên sử dụng 'virtualenv' với PyCharm để tách biệt môi trường dự án của bạn. Tôi đã có câu trả lời về điều đó tại đây: http://stackoverflow.com/questions/39937468/pycharm-import-error-claims-matplotlib-is-not-a-package-but-works-successful/39966670#39966670 – Marcs

Trả lời

8

Điều này thường xảy ra vì bạn có một tệp khác có tên là nltk.py. Kiểm tra thư mục của bạn (C:\Python, nơi bạn đang chạy tập lệnh này) và xóa hoặc đổi tên nó nếu nó ở đó. (Tôi cho rằng phân đoạn nltk.py có thể ở đâu đó khác trên số PYTHONPATH của bạn.)

+1

Cảm ơn bạn, đây là vấn đề. Tôi đã có một tập tin python tên nltk.py nơi tôi đã thực hành bằng cách sử dụng nltk. – Lee88

1

Trong pycharm, nhấn vào ctrl/cmd + shift + A, sau đó gõ "Python Interpreter"

và chắc chắn rằng bạn có người phiên dịch giống như một pip bạn đề cập đến (và không phải một số Jetbrains mặc định một)

Lưu ý: Nếu bạn có cả python 2.7python 3.x cài đặt, quy ước là pip đề cập đến 2.x dist, và pip3 đề cập đến 3.x

+0

Nếu một Phiên bản không khớp là vấn đề, lỗi sẽ là 'ImportError: Không có module nào có tên 'nltk''. – alexis

+0

Đây không phải là vấn đề cụ thể của tôi, nhưng tôi không biết rằng sự khác biệt có thể được thực hiện. Cảm ơn bạn – Lee88

1

Cảm ơn. Nó giải quyết vấn đề của tôi.

Sự cố: Tôi đã tạo tệp "nltk.py" và viết mã trong tệp đó và cố gắng thực thi nó đang đưa ra lỗi 'ModuleNotFoundError: Không có mô-đun có tên' nltk.tokenize '; 'nltk' không phải là một gói '.

Giải pháp: Sau đó, tôi đổi tên "nltk.py" thành một số khác thì sự cố của tôi đã được giải quyết.

Các vấn đề liên quan