jedi-vim: Error: jedi-vim fails to load with colorama 0.3.6

After deploying a new system, jedi-vim fails to load with the following error message System: Fedora22


Error detected while processing /home/fedora/.vim/bundle/jedi-vim/autoload/jedi.vim:
line  283:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/fedora/.vim/bundle/jedi-vim/initialize.py", line 22, in <module>
    import jedi_vim
  File "/home/fedora/.vim/bundle/jedi-vim/jedi_vim.py", line 12, in <module>
    import jedi
  File "/usr/lib/python2.7/site-packages/jedi/__init__.py", line 41, in <module>
    from jedi.api import Script, Interpreter, NotFoundError, set_debug_function
  File "/usr/lib/python2.7/site-packages/jedi/api/__init__.py", line 16, in <module>
    from jedi.parser import Parser, load_grammar
  File "/usr/lib/python2.7/site-packages/jedi/parser/__init__.py", line 21, in <module>
    from jedi.parser import tree as pt
  File "/usr/lib/python2.7/site-packages/jedi/parser/tree.py", line 39, in <module>
    from jedi import cache
  File "/usr/lib/python2.7/site-packages/jedi/cache.py", line 32, in <module>
    from jedi import debug
  File "/usr/lib/python2.7/site-packages/jedi/debug.py", line 17, in <module>
    init()
  File "/usr/lib/python2.7/site-packages/colorama/initialise.py", line 37, in init
    wrap_stream(orig_stdout, convert, strip, autoreset, wrap)
  File "/usr/lib/python2.7/site-packages/colorama/initialise.py", line 76, in wrap_stream
    convert=convert, strip=strip, autoreset=autoreset)
  File "/usr/lib/python2.7/site-packages/colorama/ansitowin32.py", line 67, in __init__
    strip = conversion_supported or (not wrapped.closed and not is_a_tty(wrapped))
AttributeError: closed

EDIT Suggested fix for colorama: https://github.com/tartley/colorama/pull/84

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 20 (6 by maintainers)

Most upvoted comments

The problem can be reproduced using:

vim -c 'VirtualEnvActivate' -c 'py import colorama; colorama.init()'

So, you need to have colorama 0.3.6 installed - and activated your virtualenv.

I only have colorama 0.3.3 (Arch is not up-to-date in that regard), and do not activate my virtualenvs (jedi-vim (Git master) picks up $VIRTUAL_ENV by itself).

This is what :py3 import colorama; colorama.init() causes on my Vim.

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/tarcisioe/workspace/manta/.venv/lib64/python3.4/site-packages/colorama/initialise.py", line 37, in init
    wrap_stream(orig_stdout, convert, strip, autoreset, wrap)
  File "/home/tarcisioe/workspace/manta/.venv/lib64/python3.4/site-packages/colorama/initialise.py", line 76, in wrap_stream
    convert=convert, strip=strip, autoreset=autoreset)
  File "/home/tarcisioe/workspace/manta/.venv/lib64/python3.4/site-packages/colorama/ansitowin32.py", line 67, in __init__
    strip = conversion_supported or (not wrapped.closed and not is_a_tty(wrapped))
AttributeError: 'vim.message' object has no attribute 'closed'

Sounds similar (the same, actually) to what @tony gets in his Neovim. I ended up having jedi-vim fail whenever I was working on a project that had pylint installed, because pylint depends on colorama>=0.3.5, and so I end up with 0.3.6. A friend of mine confirmed that replacing 0.3.6 with 0.3.5 fixes the issue and is enough for both jedi and pylint to work as expected, but doing this manually for every virtualenv I create is surely non-optimal.

Thanks for looking into it 😃