I'm writing a shell script which runs a command through ipython with the -c option like this:
ipython -c "from blah import myfunct; myfunct()"
but I want to invoke ipython through django's shell_plus command so I can take advantage of all the stuff shell_plus automatically loads for me:
$ ./manage.py shell_plus
I can't just add "-c ..." to the end of that because manage.py doesn't know what to do with it. Is there any way to pipe the -c option somehow?
解决方案
There are a couple of ways to do this.
Modify manage.py and add the -c option and remove it from sys.argv after processing
Modify manage.py and monkeypatch shell_plus so it supports -c by default
Put your code in some file and call 'PYTHONSTARTUP=your_file ./manage.py shell_plus'