Nltk: ImportError: cannot import name 'format_exception_only'

Created on 13 Jun 2017  ·  5Comments  ·  Source: nltk/nltk

An error occurred when I import nltk.
Please tell me what I should do, thanks.

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

Most helpful comment

File "/home/july/PythonProjects/test/tokenize.py", line 3, in
from nltk.tokenize import regexp_tokenize, wordpunct_tokenize, blankline_tokenize

There happen to be another script with the same name Python is looking for. Python got confused about the script from package and your own script because it start searching from the folder where you are.
So just change your own script to another name.

All 5 comments

It can work after I restart terminal. I don't know why.

I made a mistake, sorry.
If anyone use from nltk.tokenize import sent_tokenize in ide with an error, you may can try run it in console.

File "/home/july/PythonProjects/test/tokenize.py", line 3, in
from nltk.tokenize import regexp_tokenize, wordpunct_tokenize, blankline_tokenize

There happen to be another script with the same name Python is looking for. Python got confused about the script from package and your own script because it start searching from the folder where you are.
So just change your own script to another name.

My script name is tokenize.py too and error when running. Thanks dude

File "/home/july/PythonProjects/test/tokenize.py", line 3, in
from nltk.tokenize import regexp_tokenize, wordpunct_tokenize, blankline_tokenize

There happen to be another script with the same name Python is looking for. Python got confused about the script from package and your own script because it start searching from the folder where you are.
So just change your own script to another name.

saved my life omg, after just changed my python script file name

Was this page helpful?
0 / 5 - 0 ratings

Related issues

mwess picture mwess  ·  5Comments

alvations picture alvations  ·  4Comments

alvations picture alvations  ·  3Comments

zdog234 picture zdog234  ·  3Comments

alvations picture alvations  ·  4Comments