Traditional shells have a limitation for python users. At a time, users can either run shell commands or use IPython. As a result, one has to open multiple terminals or switch back and forth between them in the same terminal. Instead, try Xonsh. It combines the convenience of a traditional shell with the power of Python. Thus, you can use Python syntax as well as run shell commands in the same shell.