Nltk: ImportError: não é possível importar o nome 'format_exception_only'

Criado em 13 jun. 2017  ·  5Comentários  ·  Fonte: nltk/nltk

Ocorreu um erro ao importar nltk.
Por favor me diga o que devo fazer, obrigado.

>>> import nltk
Traceback (most recent call last):
  File "/usr/lib/python3.5/subprocess.py", line 441, in <module>
    import threading
  File "/usr/lib/python3.5/threading.py", line 7, in <module>
    from traceback import format_exc as _format_exc
  File "/usr/lib/python3.5/traceback.py", line 5, in <module>
    import linecache
  File "/usr/lib/python3.5/linecache.py", line 11, in <module>
    import tokenize
  File "/home/july/PythonProjects/test/tokenize.py", line 3, in <module>
    from nltk.tokenize import regexp_tokenize, wordpunct_tokenize, blankline_tokenize
  File "/usr/local/lib/python3.5/dist-packages/nltk/tokenize/__init__.py", line 67, in <module>
    from nltk.tokenize.mwe      import MWETokenizer
  File "/usr/local/lib/python3.5/dist-packages/nltk/tokenize/mwe.py", line 31, in <module>
    from nltk.util import Trie
  File "/usr/local/lib/python3.5/dist-packages/nltk/util.py", line 15, in <module>
    import pydoc
  File "/usr/lib/python3.5/pydoc.py", line 76, in <module>
    from traceback import format_exception_only
ImportError: cannot import name 'format_exception_only'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.5/dist-packages/nltk/__init__.py", line 89, in <module>
    from nltk.internals import config_java
  File "/usr/local/lib/python3.5/dist-packages/nltk/internals.py", line 11, in <module>
    import subprocess
  File "/usr/lib/python3.5/subprocess.py", line 443, in <module>
    import dummy_threading as threading
  File "/usr/lib/python3.5/dummy_threading.py", line 45, in <module>
    import threading
  File "/usr/lib/python3.5/threading.py", line 7, in <module>
    from traceback import format_exc as _format_exc
  File "/usr/lib/python3.5/traceback.py", line 5, in <module>
    import linecache
  File "/usr/lib/python3.5/linecache.py", line 11, in <module>
    import tokenize
  File "/home/july/PythonProjects/test/tokenize.py", line 3, in <module>
    from nltk.tokenize import regexp_tokenize, wordpunct_tokenize, blankline_tokenize
  File "/usr/local/lib/python3.5/dist-packages/nltk/tokenize/__init__.py", line 67, in <module>
    from nltk.tokenize.mwe      import MWETokenizer
  File "/usr/local/lib/python3.5/dist-packages/nltk/tokenize/mwe.py", line 31, in <module>
    from nltk.util import Trie
  File "/usr/local/lib/python3.5/dist-packages/nltk/util.py", line 15, in <module>
    import pydoc
  File "/usr/lib/python3.5/pydoc.py", line 76, in <module>
    from traceback import format_exception_only
ImportError: cannot import name 'format_exception_only'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3.5/subprocess.py", line 441, in <module>
    import threading
  File "/usr/lib/python3.5/threading.py", line 7, in <module>
    from traceback import format_exc as _format_exc
ImportError: cannot import name 'format_exc'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 62, in apport_excepthook
    import re, traceback
  File "/usr/lib/python3.5/traceback.py", line 5, in <module>
    import linecache
  File "/usr/lib/python3.5/linecache.py", line 11, in <module>
    import tokenize
  File "/home/july/PythonProjects/test/tokenize.py", line 3, in <module>
    from nltk.tokenize import regexp_tokenize, wordpunct_tokenize, blankline_tokenize
  File "/usr/local/lib/python3.5/dist-packages/nltk/__init__.py", line 89, in <module>
    from nltk.internals import config_java
  File "/usr/local/lib/python3.5/dist-packages/nltk/internals.py", line 11, in <module>
    import subprocess
  File "/usr/lib/python3.5/subprocess.py", line 443, in <module>
    import dummy_threading as threading
  File "/usr/lib/python3.5/dummy_threading.py", line 45, in <module>
    import threading
  File "/usr/lib/python3.5/threading.py", line 7, in <module>
    from traceback import format_exc as _format_exc
ImportError: cannot import name 'format_exc'

Original exception was:
Traceback (most recent call last):
  File "/usr/lib/python3.5/subprocess.py", line 441, in <module>
    import threading
  File "/usr/lib/python3.5/threading.py", line 7, in <module>
    from traceback import format_exc as _format_exc
  File "/usr/lib/python3.5/traceback.py", line 5, in <module>
    import linecache
  File "/usr/lib/python3.5/linecache.py", line 11, in <module>
    import tokenize
  File "/home/july/PythonProjects/test/tokenize.py", line 3, in <module>
    from nltk.tokenize import regexp_tokenize, wordpunct_tokenize, blankline_tokenize
  File "/usr/local/lib/python3.5/dist-packages/nltk/tokenize/__init__.py", line 67, in <module>
    from nltk.tokenize.mwe      import MWETokenizer
  File "/usr/local/lib/python3.5/dist-packages/nltk/tokenize/mwe.py", line 31, in <module>
    from nltk.util import Trie
  File "/usr/local/lib/python3.5/dist-packages/nltk/util.py", line 15, in <module>
    import pydoc
  File "/usr/lib/python3.5/pydoc.py", line 76, in <module>
    from traceback import format_exception_only
ImportError: cannot import name 'format_exception_only'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.5/dist-packages/nltk/__init__.py", line 89, in <module>
    from nltk.internals import config_java
  File "/usr/local/lib/python3.5/dist-packages/nltk/internals.py", line 11, in <module>
    import subprocess
  File "/usr/lib/python3.5/subprocess.py", line 443, in <module>
    import dummy_threading as threading
  File "/usr/lib/python3.5/dummy_threading.py", line 45, in <module>
    import threading
  File "/usr/lib/python3.5/threading.py", line 7, in <module>
    from traceback import format_exc as _format_exc
  File "/usr/lib/python3.5/traceback.py", line 5, in <module>
    import linecache
  File "/usr/lib/python3.5/linecache.py", line 11, in <module>
    import tokenize
  File "/home/july/PythonProjects/test/tokenize.py", line 3, in <module>
    from nltk.tokenize import regexp_tokenize, wordpunct_tokenize, blankline_tokenize
  File "/usr/local/lib/python3.5/dist-packages/nltk/tokenize/__init__.py", line 67, in <module>
    from nltk.tokenize.mwe      import MWETokenizer
  File "/usr/local/lib/python3.5/dist-packages/nltk/tokenize/mwe.py", line 31, in <module>
    from nltk.util import Trie
  File "/usr/local/lib/python3.5/dist-packages/nltk/util.py", line 15, in <module>
    import pydoc
  File "/usr/lib/python3.5/pydoc.py", line 76, in <module>
    from traceback import format_exception_only
ImportError: cannot import name 'format_exception_only'

Comentários muito úteis

Arquivo "/home/july/PythonProjects/test/tokenize.py", linha 3, em
de nltk.tokenize importar regexp_tokenize, wordpunct_tokenize, blankline_tokenize

Acontece que existe outro script com o mesmo nome que o Python está procurando. Python ficou confuso sobre o script do pacote e seu próprio script porque ele começa a pesquisar a partir da pasta onde você está.
Portanto, basta alterar seu próprio script para outro nome.

Todos 5 comentários

Pode funcionar depois de reiniciar o terminal. Não sei por quê.

Eu cometi um erro, desculpe.
Se alguém usar from nltk.tokenize import sent_tokenize no ide com um erro, você pode tentar executá-lo no console.

Arquivo "/home/july/PythonProjects/test/tokenize.py", linha 3, em
de nltk.tokenize importar regexp_tokenize, wordpunct_tokenize, blankline_tokenize

Acontece que existe outro script com o mesmo nome que o Python está procurando. Python ficou confuso sobre o script do pacote e seu próprio script porque ele começa a pesquisar a partir da pasta onde você está.
Portanto, basta alterar seu próprio script para outro nome.

Meu nome de script é tokenize.py também e erro durante a execução. Valeu cara

Arquivo "/home/july/PythonProjects/test/tokenize.py", linha 3, em
de nltk.tokenize importar regexp_tokenize, wordpunct_tokenize, blankline_tokenize

Acontece que existe outro script com o mesmo nome que o Python está procurando. Python ficou confuso sobre o script do pacote e seu próprio script porque ele começa a pesquisar a partir da pasta onde você está.
Portanto, basta alterar seu próprio script para outro nome.

salvou minha vida, omg, depois de mudar o nome do meu arquivo de script python

Esta página foi útil?
0 / 5 - 0 avaliações