pythonpython-3.xmacosqtconsole

I think jupyter-qtconsole is broken because I am running os x 10.10.5. How to fix without update?


Quick note: I had trouble with formulating my question. I do not know very much about jupyter-qtconsole, so I am not very sure what issue I am actually facing.

I am on mac book with os x 10.10.5 running pyenv virtual environments. A typical fresh virtual environment gets the following installed:

numpy
scipy
matplotlib
jupyter
qtconsole
pyqt5
sip (Recent addition)
jupyter_qtconsole_colorschemes

To bring up the console from the command line -> jupyter qtconsole with alias jqt

Today I went through this process and came upon an error. Note, my other virtual environments still work great.

Below is the error that I have found which is reproducible:

Cloud-Control:codingProjects KJSwanson$ cd 704
pyenv-virtualenv: deactivate 3.6.0/envs/test2
pyenv-virtualenv: activate 704
pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.
(704)
Cloud-Control:704 KJSwanson$ jqt
Traceback (most recent call last):
  File "/Users/KJSwanson/.pyenv/versions/704/bin/jupyter-qtconsole", line 7, in <module>
    from qtconsole.qtconsoleapp import main
  File "/Users/KJSwanson/.pyenv/versions/3.6.4/envs/704/lib/python3.6/site-packages/qtconsole/qtconsoleapp.py", line 60, in <module>
    from qtconsole.qt import QtCore, QtGui
  File "/Users/KJSwanson/.pyenv/versions/3.6.4/envs/704/lib/python3.6/site-packages/qtconsole/qt.py", line 23, in <module>
    QtCore, QtGui, QtSvg, QT_API = load_qt(api_opts)
  File "/Users/KJSwanson/.pyenv/versions/3.6.4/envs/704/lib/python3.6/site-packages/qtconsole/qt_loaders.py", line 365, in load_qt
    result = loaders[api]()
  File "/Users/KJSwanson/.pyenv/versions/3.6.4/envs/704/lib/python3.6/site-packages/qtconsole/qt_loaders.py", line 272, in import_pyqt5
    from PyQt5 import QtCore, QtSvg, QtWidgets, QtGui, QtPrintSupport
ImportError: dlopen(/Users/KJSwanson/.pyenv/versions/3.6.4/envs/704/lib/python3.6/site-packages/PyQt5/QtCore.so, 2): Symbol not found: __os_log_default
  Referenced from: /Users/KJSwanson/.pyenv/versions/3.6.4/envs/704/lib/python3.6/site-packages/PyQt5/Qt/lib/QtCore.framework/Versions/5/QtCore (which was built for Mac OS X 10.11)
  Expected in: /usr/lib/libSystem.B.dylib
 in /Users/KJSwanson/.pyenv/versions/3.6.4/envs/704/lib/python3.6/site-packages/PyQt5/Qt/lib/QtCore.framework/Versions/5/QtCore

-> (which was built for Mac OS X 10.11)

1) Since my machine OS version is 10.10.5 is this in fact why I am having issues with jupyter qtconsole? (Some update to the module jupyter-qtconsole that conflicts?)

2) If this is not the reason, any suggestions on what the problem might be?


Solution

  • Here is the deal.

    PyQt5 was the issue. The latest versions seems to require os x 10.11.x.

    My solution was to uninstall PyQt5 and install the version, v=5.9.2, which is the version that works in a different virtual environment.