powerline / powerline

Powerline is a statusline plugin for vim, and provides statuslines and prompts for several other applications, including zsh, bash, tmux, IPython, Awesome and Qtile.
https://powerline.readthedocs.org/en/latest/
Other
14.41k stars 1k forks source link

Problem with MacVim #254

Closed ssbanerje closed 10 years ago

ssbanerje commented 11 years ago

I am trying to use powerline with MacVim (from homebrew). I had successfully got it working about a month (or more) ago. However I just pulled the latest changes a few days ago and I get this error -

Error detected while processing function Powerline:
line    3:
E858: Eval did not return a valid python object

I have cloned powerline to ~/.powerline and run ./setup.py build && ./setup.py install --user (on the master branch) And the relevant portions of my vimrc file are -

"Powerline {
    set rtp+=~/.powerline/powerline/bindings/vim
    set laststatus=2 " Always display the statusline in all windows
    set noshowmode
    if has('gui_running')
        if has("gui_gtk2")
            set guifont=Monaco\ for\ Powerline\ 10
        else
                set guifont=Monaco\ for\ Powerline:h12
        endif
    else
        set t_Co=256
    endif
"}

However, I am also using the very same steps on my Linux box, and it seems to be working fine.

ZyX-I commented 11 years ago
E858: Eval did not return a valid python object

https://powerline.readthedocs.org/en/latest/installation/osx.html?highlight=troubleshooting#i-get-e858-e860-error-in-vim-eval-did-not-return-a-valid-python-object

ssbanerje commented 11 years ago

This is the stacktrace --

Error detected while processing function Powerline..<SNR>96_pyeval:
line    1:
Traceback (most recent call last):
Press ENTER or type command to continue
Error detected while processing function Powerline..<SNR>96_pyeval:
line    1:
  File "<string>", line 1, in <module>
Press ENTER or type command to continue
Error detected while processing function Powerline..<SNR>96_pyeval:
line    1:
  File "<string>", line 1, in <module>
Press ENTER or type command to continue
Error detected while processing function Powerline..<SNR>96_pyeval:
line    1:
TypeError: render() takes exactly 3 arguments (4 given)  

Probably related to #180

ssbanerje commented 11 years ago

After the commits in the last few hours, the problem seems partially resolved.

When I launch MacVim from the GUI icon. Powerline seems to work properly!

However, I am getting some very weird behaviour, when I launch the editor from the terminal (either as vim or mvim), I get the same error.

I am attacting a screenshot.

screenshot

ZyX-I commented 11 years ago

I am attacting a screenshot.

Attach right screenshot. “Eval did not return a valid python object” is not informative. It is strange you need to be told this twice, after you successfully posted required text.

Also post :scriptnames output here. It looks like if you are using powerline.vim from the wrong powerline version (assuming that problem is actually the same and you just attached wrong screeshots, but had tested using right methods).

ssbanerje commented 11 years ago

The screenshot and error are the same. I am still getting the same error --

Error detected while processing function Powerline..<SNR>94_pyeval:
line    1:
Traceback (most recent call last):
Press ENTER or type command to continue
Error detected while processing function Powerline..<SNR>94_pyeval:
line    1:
  File "<string>", line 1, in <module>
Press ENTER or type command to continue
Error detected while processing function Powerline..<SNR>94_pyeval:
line    1:
  File "<string>", line 1, in <module>
Press ENTER or type command to continue
Error detected while processing function Powerline..<SNR>94_pyeval:
line    1:
TypeError: render() takes exactly 3 arguments (4 given)
Press ENTER or type command to continue

However, if I dont run it with the debug flags (g:powerline_debugging_pyeval=1), I get this (as in the sceenshot) -

Error detected while processing function Powerline:
line    3:
E858: Eval did not return a valid python object

Here is the :scriptnames output -

:scriptnames 
  1: /usr/local/Cellar/macvim/7.3-66/MacVim.app/Contents/Resources/vim/vimrc
  2: ~/.vimrc
  3: /usr/local/Cellar/macvim/7.3-66/MacVim.app/Contents/Resources/vim/runtime/syntax/syntax.vim
  4: /usr/local/Cellar/macvim/7.3-66/MacVim.app/Contents/Resources/vim/runtime/syntax/synload.vim
  5: /usr/local/Cellar/macvim/7.3-66/MacVim.app/Contents/Resources/vim/runtime/syntax/syncolor.vim
  6: /usr/local/Cellar/macvim/7.3-66/MacVim.app/Contents/Resources/vim/runtime/filetype.vim
  7: ~/.vim/autoload/pathogen.vim
  8: /usr/local/Cellar/macvim/7.3-66/MacVim.app/Contents/Resources/vim/runtime/ftoff.vim
  9: ~/.vim/bundle/vim-jade/ftdetect/jade.vim
 10: ~/.vim/bundle/vim-javascript/ftdetect/javascript.vim
 11: ~/.vim/bundle/vim-json/ftdetect/json.vim
 12: ~/.vim/bundle/vim-markdown/ftdetect/markdown.vim
 13: ~/.vim/bundle/vim-ruby/ftdetect/ruby.vim
 14: ~/.vim/bundle/molokai/colors/molokai.vim
 15: /usr/local/Cellar/macvim/7.3-66/MacVim.app/Contents/Resources/vim/runtime/syntax/nosyntax.vim
 16: /usr/local/Cellar/macvim/7.3-66/MacVim.app/Contents/Resources/vim/runtime/ftplugin.vim
 17: /usr/local/Cellar/macvim/7.3-66/MacVim.app/Contents/Resources/vim/runtime/indent.vim
 18: ~/.vim/plugin/a.vim
 19: ~/.vim/plugin/taglist.vim
 20: ~/.vim/bundle/Align/plugin/AlignMapsPlugin.vim
 21: ~/.vim/bundle/Align/plugin/AlignPlugin.vim
 22: ~/.vim/bundle/Align/plugin/cecutil.vim
 23: ~/.vim/bundle/Command-T/plugin/command-t.vim
 24: ~/.vim/bundle/LocateOpen/plugin/locateopen.vim
 25: ~/.vim/bundle/Recover.vim/plugin/recover.vim
 26: ~/.vim/bundle/Recover.vim/autoload/recover.vim
 27: ~/.vim/bundle/YankRing.vim/plugin/yankring.vim
 28: ~/.vim/bundle/ack.vim/plugin/ack.vim
 29: ~/.vim/bundle/atp-vim/plugin/tex_atp.vim
 30: ~/.vim/bundle/clang_complete/plugin/clang_complete.vim
 31: ~/.vim/bundle/cocoa.vim/plugin/cocoa.vim
 32: ~/.vim/bundle/conque-term/plugin/conque_term.vim
 33: ~/.vim/bundle/cvim/plugin/c.vim
 34: ~/.vim/bundle/cvim/autoload/mmtemplates/core.vim
 35: ~/.vim/bundle/editorconfig-vim/plugin/editorconfig.vim
 36: ~/.vim/bundle/gundo/plugin/gundo.vim
 37: ~/.vim/bundle/headlights/plugin/headlights.vim
 38: ~/.vim/bundle/lusty/plugin/lusty-explorer.vim
 39: ~/.vim/bundle/lusty/plugin/lusty-juggler.vim
 40: ~/.vim/bundle/minibufexpl.vim/plugin/minibufexpl.vim
 41: ~/.vim/bundle/nerdcommenter/plugin/NERD_commenter.vim
 42: ~/.vim/bundle/nerdtree/plugin/NERD_tree.vim
 43: ~/.vim/bundle/nerdtree/autoload/nerdtree.vim
 44: ~/.vim/bundle/nerdtree/plugin/nerdtree/path.vim
 45: ~/.vim/bundle/nerdtree/plugin/nerdtree/menu_controller.vim
 46: ~/.vim/bundle/nerdtree/plugin/nerdtree/menu_item.vim
 47: ~/.vim/bundle/nerdtree/plugin/nerdtree/key_map.vim
 48: ~/.vim/bundle/nerdtree/plugin/nerdtree/bookmark.vim
 49: ~/.vim/bundle/nerdtree/plugin/nerdtree/tree_file_node.vim
 50: ~/.vim/bundle/nerdtree/plugin/nerdtree/tree_dir_node.vim
 51: ~/.vim/bundle/nerdtree/plugin/nerdtree/opener.vim
 52: ~/.vim/bundle/nerdtree/plugin/nerdtree/creator.vim
53: ~/.vim/bundle/nerdtree/nerdtree_plugin/exec_menuitem.vim
 54: ~/.vim/bundle/nerdtree/nerdtree_plugin/fs_menu.vim
 55: ~/.vim/bundle/python-mode/plugin/pymode.vim
 56: ~/.vim/bundle/python-mode/autoload/pymode.vim
 57: ~/.vim/bundle/python-mode/autoload/pymode/virtualenv.vim
 58: ~/.vim/bundle/rainbow_paranthesis.vim/plugin/rainbow_parentheses.vim
 59: ~/.vim/bundle/simple-pairs/plugin/simple_pairs.vim
 60: ~/.vim/bundle/splice.vim/plugin/splice.vim
 61: ~/.vim/bundle/supertab/plugin/supertab.vim
 62: ~/.vim/bundle/syntastic/plugin/syntastic/checker.vim
 63: ~/.vim/bundle/syntastic/plugin/syntastic/loclist.vim
 64: ~/.vim/bundle/syntastic/plugin/syntastic/makeprg_builder.vim
 65: ~/.vim/bundle/syntastic/plugin/syntastic/registry.vim
 66: ~/.vim/bundle/syntastic/plugin/syntastic.vim
 67: ~/.vim/bundle/tabman.vim/plugin/tabman.vim
 68: ~/.vim/bundle/tagbar/plugin/tagbar.vim
 69: ~/.vim/bundle/tlib_vim/plugin/02tlib.vim
 70: ~/.vim/bundle/vim-angry/plugin/angry.vim
 71: ~/.vim/bundle/vim-easymotion/plugin/EasyMotion.vim
 72: ~/.vim/bundle/vim-easymotion/autoload/EasyMotion.vim
 73: ~/.vim/bundle/vim-fugitive/plugin/fugitive.vim
 74: ~/.vim/bundle/vim-notes/plugin/notes.vim
 75: ~/.vim/bundle/vim-notes/autoload/xolox/notes.vim
 76: ~/.vim/bundle/vim-notes/autoload/xolox/misc/path.vim
 77: ~/.vim/bundle/vim-notes/autoload/xolox/misc/os.vim
 78: ~/.vim/bundle/vim-rails/plugin/rails.vim
 79: ~/.vim/bundle/vim-snipmate/plugin/snipMate.vim
 80: ~/.vim/bundle/vim-addon-mw-utils/autoload/funcref.vim
 81: ~/.vim/bundle/vim-snipmate/plugin/snipMateInterface.vim
 82: ~/.vim/bundle/vim-speeddating/plugin/speeddating.vim
 83: /usr/local/Cellar/macvim/7.3-66/MacVim.app/Contents/Resources/vim/runtime/plugin/getscriptPlugin.vim
 84: /usr/local/Cellar/macvim/7.3-66/MacVim.app/Contents/Resources/vim/runtime/plugin/gzip.vim
 85: /usr/local/Cellar/macvim/7.3-66/MacVim.app/Contents/Resources/vim/runtime/plugin/matchparen.vim
 86: /usr/local/Cellar/macvim/7.3-66/MacVim.app/Contents/Resources/vim/runtime/plugin/netrwPlugin.vim
 87: /usr/local/Cellar/macvim/7.3-66/MacVim.app/Contents/Resources/vim/runtime/plugin/rrhelper.vim
 88: /usr/local/Cellar/macvim/7.3-66/MacVim.app/Contents/Resources/vim/runtime/plugin/spellfile.vim
 89: /usr/local/Cellar/macvim/7.3-66/MacVim.app/Contents/Resources/vim/runtime/plugin/tarPlugin.vim
 90: /usr/local/Cellar/macvim/7.3-66/MacVim.app/Contents/Resources/vim/runtime/plugin/tohtml.vim
 91: /usr/local/Cellar/macvim/7.3-66/MacVim.app/Contents/Resources/vim/runtime/plugin/vimballPlugin.vim
 92: /usr/local/Cellar/macvim/7.3-66/MacVim.app/Contents/Resources/vim/runtime/plugin/zipPlugin.vim
 93: ~/.vim/bundle/vim-snipmate/after/plugin/snipMate.vim
 94: ~/.powerline/powerline/bindings/vim/plugin/powerline.vim
 95: /usr/local/Cellar/macvim/7.3-66/MacVim.app/Contents/Resources/vim/runtime/syntax/sh.vim
 96: ~/.vim/bundle/rainbow_paranthesis.vim/autoload/rainbow_parentheses.vim
 97: /usr/local/Cellar/macvim/7.3-66/MacVim.app/Contents/Resources/vim/runtime/ftplugin/sh.vim
 98: /usr/local/Cellar/macvim/7.3-66/MacVim.app/Contents/Resources/vim/runtime/indent/sh.vim
 99: ~/.vim/bundle/editorconfig-vim/autoload/editorconfig.vim

As for the version, I am using the powerline.vim file which comes along with 3c62e06

ZyX-I commented 11 years ago

:scriptnames output from both cases, where error is shown and where it is not. I am suspecting you run different powerline.vim versions. Though I am likely false and you actually run different powerline versions somehow.

ZyX-I commented 11 years ago

To check for powerline location use

py import powerline as pl;print pl.__file__
ssbanerje commented 11 years ago

The output is /Users/Subho/Library/Python/2.7/lib/python/site-packages/Powerline-beta-py2.7.eg g/powerline/__init__.pyc

ZyX-I commented 11 years ago

@subszero In both cases? I do not care about your powerline location, I need the answer whether this location is the same for both failing and not failing case. Same for :scriptnames.

ssbanerje commented 11 years ago

Ya... Its the same in both cases

ZyX-I commented 11 years ago

Your powerline.vim script is located in ~/.powerline/powerline/bindings/vim/plugin/powerline.vim, but actually used powerline is located in another directory. Fix this. If you installed via pip remove powerline and reinstall using

pip install --user -e ~/.powerline