Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Critical error when setting iterm2 backend #2

Open
jameskyle opened this issue Feb 19, 2016 · 5 comments
Open

Critical error when setting iterm2 backend #2

jameskyle opened this issue Feb 19, 2016 · 5 comments

Comments

@jameskyle
Copy link

After entering the recommended profile configuration snippet and installing matplotlib_iterm2 module, I get the following critical error on ipython start:

[TerminalIPythonApp] CRITICAL | Bad config encountered during initialization:
[TerminalIPythonApp] CRITICAL | The 'pylab' trait of a TerminalIPythonApp instance must be any of [u'auto', u'gtk', u'gtk3', u'inline', u'nbagg', u'notebook', u'osx', u'qt', u'qt4', u'qt5', u'tk', u'wx'] or None, but a value of u'iterm2' <type 'unicode'> was specified.

Very similar to the one noted as expected, but mpl simply exits.

@oselivanov
Copy link
Owner

  1. What version of iPython/Jupyter do you have?
  2. Can you check if it actually works if it not completely crashes. See Try to use iterm2 backend, but raise UsageError: Invalid GUI request 'iterm2' #1

@jameskyle
Copy link
Author

ipython: 4.1.2
jupyter-core: 4.1.0

Here's a full pip freeze from my fresh virtualenv

alabaster==0.7.7
appnope==0.1.0
Babel==2.2.0
backports-abc==0.4
backports.ssl-match-hostname==3.5.0.1
certifi==2016.2.28
cycler==0.10.0
decorator==4.0.9
docutils==0.12
functools32==3.2.3.post2
futures==3.0.5
gnureadline==6.3.3
ipykernel==4.3.1
ipyparallel==5.0.1
ipython==4.1.2
ipython-genutils==0.1.0
ipywidgets==4.1.1
Jinja2==2.8
jsonschema==2.5.1
jupyter-client==4.2.1
jupyter-core==4.1.0
MarkupSafe==0.23
matplotlib==1.5.1
matplotlib-iterm2==0.1.0
mistune==0.7.2
nbconvert==4.1.0
nbformat==4.0.1
nose==1.3.7
notebook==4.1.0
numpy==1.10.4
path.py==8.1.2
pexpect==4.0.1
pickleshare==0.6
Pillow==3.1.1
ptyprocess==0.5.1
Pygments==2.1.3
pyparsing==2.1.0
python-dateutil==2.5.0
pytz==2015.7
pyzmq==15.2.0
qtconsole==4.2.0
requests==2.9.1
simplegeneric==0.8.1
singledispatch==3.4.0.3
six==1.10.0
snowballstemmer==1.2.1
Sphinx==1.3.6
sphinx-rtd-theme==0.1.9
terminado==0.6
testpath==0.3
tornado==4.3
traitlets==4.1.0

@isezen
Copy link

isezen commented Mar 18, 2016

Same error still.

@jdanbrown
Copy link

Same error here, but it looks like you can hack around it by hijacking an existing valid backend key instead of trying to add new key iterm2 (on osx qt and qt4 wfm, but qt5 and gtk fail):

~/.ipython/profile_default/ipython_config.py

# Configuration file for ipython.

c = get_config()

from IPython.core.pylabtools import backends
backends['iterm2'] = 'module://matplotlib_iterm2.backend_iterm2'

from IPython.core.shellapp import backend_keys
backend_keys.append('iterm2')

c.TerminalIPythonApp.pylab = 'iterm2'
$ ipython
...
[TerminalIPythonApp] CRITICAL | Bad config encountered during initialization:
[TerminalIPythonApp] CRITICAL | The 'pylab' trait of a TerminalIPythonApp instance must be any of [u'auto', u'gtk', u'gtk3', u'inline', u'nbagg', u'notebook', u'osx', u'qt', u'qt4', u'qt5', u'tk', u'wx'] or None, but a value of u'iterm2' <type 'unicode'> was specified.

~/.ipython/profile_default/ipython_config.py

# Configuration file for ipython.

c = get_config()

from IPython.core.pylabtools import backends
backends['qt'] = 'module://matplotlib_iterm2.backend_iterm2'

#from IPython.core.shellapp import backend_keys
#backend_keys.append('iterm2')

c.TerminalIPythonApp.pylab = 'qt'
$ ipython
In [1]: from ggplot import *; ggplot(aes(x='date', y='beef'), data=meat) + geom_point()

screen shot 2016-07-18 at 12 15 14

@keevee09
Copy link

@jdanbrown : your solution is confirmed to work in a pyenv 3.5.2 virtual environment

One suggestion for anyone wanting to test this: create a new ipython profile and this will leave the default ipython sessions clean.

    ipython profile create inline

Then edit $HOME/.ipython/profile_inline/ipython_config.py as mentioned by @jdanbrown
The matplotlib_iterm2 enabled profile can be tested so:

    ipython --profile=inline

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants