LogikSim/LogikSim — pull request #24 by hacst (2014-11-16 21:40:34+00:00)
Title: Add interactive IPython console as a dock widget.

This pull request contains initial work for adding an interactive ipython console to LogikSim as a dockwidget.
![python_console](https://cloud.githubusercontent.com/assets/237537/5063290/bd7455f8-6de0-11e4-946a-d5f013715222.png)

While the functionality works great ***it is not ready to merge yet*** and is meant as a basis for future work. Unfortunately cx_Freeze doesn't seem to handle IPython correctly which results in the generated exe's not being executable. More concretely IPythons detection of which Qt bindings are installed seems to be broken from the frozen exe (qt_loaders.py) so even though pyside is present and imported the detection fails. Likely this is an issue with the imp.find_module calls in qt_loaders.py of IPython:
```python
import imp
try:
#importing top level PyQt4/PySide module is ok...
mod = __import__(module_name)
#...importing submodules is not
imp.find_module('QtCore', mod.__path__)
imp.find_module('QtGui', mod.__path__)
imp.find_module('QtSvg', mod.__path__)
```
Besides these very basic freezing issues IPython might also confuse automatic dependency detection. For example we would like to not have to ship matplotlib just to get a nice python console.