Nltk: ImportError: no se puede importar el nombre 'format_exception_only'

Creado en 13 jun. 2017  ·  5Comentarios  ·  Fuente: nltk/nltk

Se produjo un error al importar nltk.
Por favor, dígame qué debo hacer, gracias.

>>> 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'

Comentario más útil

Archivo "/home/july/PythonProjects/test/tokenize.py", línea 3, en
de nltk.tokenize import regexp_tokenize, wordpunct_tokenize, blankline_tokenize

Resulta que hay otro script con el mismo nombre que Python está buscando. Python se confundió sobre el script del paquete y su propio script porque comienza a buscar desde la carpeta donde se encuentra.
Así que simplemente cambie su propio script por otro nombre.

Todos 5 comentarios

Puede funcionar después de reiniciar la terminal. No sé por qué.

Cometí un error, lo siento.
Si alguien usa from nltk.tokenize import sent_tokenize en ide con un error, puede intentar ejecutarlo en la consola.

Archivo "/home/july/PythonProjects/test/tokenize.py", línea 3, en
de nltk.tokenize import regexp_tokenize, wordpunct_tokenize, blankline_tokenize

Resulta que hay otro script con el mismo nombre que Python está buscando. Python se confundió sobre el script del paquete y su propio script porque comienza a buscar desde la carpeta donde se encuentra.
Así que simplemente cambie su propio script por otro nombre.

El nombre de mi script también es tokenize.py y se produce un error al ejecutarlo. Gracias amigo

Archivo "/home/july/PythonProjects/test/tokenize.py", línea 3, en
de nltk.tokenize import regexp_tokenize, wordpunct_tokenize, blankline_tokenize

Resulta que hay otro script con el mismo nombre que Python está buscando. Python se confundió sobre el script del paquete y su propio script porque comienza a buscar desde la carpeta donde se encuentra.
Así que simplemente cambie su propio script por otro nombre.

me salvó la vida, Dios mío, después de cambiar mi nombre de archivo de secuencia de comandos de Python

¿Fue útil esta página
0 / 5 - 0 calificaciones