0
내가 IPython/Jupyter 노트북에 NLTK을 배우고, 파이썬 3 * 을 iterable`되지 나는 nltk.download_shell()
를 실행하고 l
을 사용할 수 있습니다 명령을 list
모든 패키지에. 나는 문제없이 전체 목록을 통해 페이지에 Enter
을 입력했다.NLTK 오류 'NoneType'개체가 어제
오늘은 nltk.download_shell()
입니다. 모든 '패키지'카테고리를 통해 페이지를 이동할 수 있습니다. 그런 다음 '콜렉션'카테고리를 시작합니다. 그것은 all-corpora
모음에 대한 정보를 나열하지만 실패
Collections:
[ ] all-corpora......... All the corpora
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-6-bdd77394908d> in <module>()
----> 1 nltk.download_shell()
...Full stack trace...
C:\Users\nnd\AppData\Local\Continuum\Anaconda3\lib\site-packages\nltk\downloader.py in status(self, info_or_id, download_dir)
740 # Handle collections:
741 if isinstance(info, Collection):
--> 742 pkg_status = [self.status(pkg.id) for pkg in info.packages]
743 if self.STALE in pkg_status:
744 return self.STALE
TypeError: 'NoneType' object is not iterable
이 코드를 디버깅하고 info
객체의 값을 찾을 수는 다음과 같습니다
(Pdb) info
<Collection all-nltk>
나는 참으로하여 all-nltk
과에 info.packages
을 확인 값 is None
.
내 "색인"(즉, 다운로더 _index
)이 오래되었거나 잘못되었을 수 있지만 색인에 대해 많이 모른다 고 생각됩니다. 어떤 아이디어이 오류를 방지하는 방법?
* 특정 버전 :
내가 이전에 얻을 오류 관련이있을 수 있습니다
import sys; print(sys.version)
3.6.0 |Anaconda 4.3.1 (64-bit)| (default, Dec 23 2016, 11:57:41) [MSC v.1900 64 bit (AMD64)]
import nltk; print(nltk.__version__)
3.2.2
편집, 내가 힘을하려고하면 내가에만 재현 할 수 번 인쇄 오류 _update_index(...)
은 (일부 금액에 self.INDEX_TIMEOUT
을 설정하여 즉, time.time()-self._index_timestamp
보다이하) :
(Pdb) self.INDEX_TIMEOUT = 3000
(Pdb) self._update_index()
removing collection member with no package: hmm_treebank_pos_tagger
removing collection member with no package: hmm_treebank_pos_tagger
*** AttributeError: 'str' object has no attribute 'id'
C:\Users\nnd\AppData\Local\Continuum\Anaconda3\lib\site-packages\nltk\downloader.py in _update_index(self, url)
855 queue.extend(child.children)
856 else:
--> 857 packages[child.id] = child
858 collection.packages = packages.values()
859
AttributeError: 'str' object has no attribute 'id'
그리고 패키지가 문자열 인 검사 할 때, 그것은 'maxent_treebank_pos_tagger'
입니다 :
...
<Package ycoe>
<Package rslp>
maxent_treebank_pos_tagger
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-6-bdd77394908d> in <module>()
----> 1 nltk.download_shell()