Indeed. If I could only figure out how to have it automatically run `from math import *` (and then present me with the interactive shell, I could use it as a calculator too.
ipython3 --InteractiveShellApp.exec_lines='["print(2)"]'
This does not work: ipython3 --InteractiveShellApp.exec_lines='["from math import *"]'
The latter command results in the following error: [TerminalIPythonApp] CRITICAL | The 'exec_lines' trait of a TerminalIPythonApp instance must be a list, but a value of class 'str' (i.e. '["from') was specified. $ ipython3 --InteractiveShellApp.exec_lines='["from math import *"]'
Python 3.6.5 |Anaconda, Inc.| (default, Apr 26 2018, 08:42:37)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.4.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: sin(5)
Out[1]: -0.9589242746631385 #! /bin/sh
# This is a bit hacky: we use the -i flag to force the interpreter into
# interactive mode after the initial commands are executed.
# The "proper" way to do this is probably to set up a PYTHONSTARTUP file
# and put the initial commands in there.
exec ipython3 --no-banner --no-confirm-exit -i -c '
from math import *
import random
import sys, os, platform
print("== IPython %s Calculator REPL ==" % platform.python_version())
' File "<ipython-input-1-a0531db54fa8>", line 1
from
^
SyntaxError: invalid syntax
I shall see if it starts working when I upgrade to a distro with a newer IPython.