2009-08-12 7 views
2

J'écris un script shell qui exécute une commande par ipython avec l'option -c comme ceci:les scripts ipython par shell_plus années django

ipython -c "from blah import myfunct; myfunct()" 

mais je veux invoquer ipython par la commande des années django je peux prendre profiter de toutes les choses shell_plus charge automatiquement pour moi:

$ ./manage.py shell_plus 

Je ne peux pas ajouter « -c ... » à la fin de cela parce que manage.py ne sait pas quoi faire avec elle. Y at-il un moyen de canaliser l'option -c en quelque sorte?

Répondre

2

Il y a plusieurs façons de le faire.

  1. Modifier manage.py et ajoutez l'option -c et le retirer de sys.argv après traitement
  2. Modifier manage.py et il shell_plus monkey-patch prend en charge -c par défaut
  3. Mettez votre code dans un et appeler fichier 'PYTHONSTARTUP=your_file ./manage.py shell_plus'
+0

note: Django vérifie si 'PYTHONSTARTUP' est un fichier avec' os.path.isfile (pythonrc) ', ce qui signifie qu'il ne sera pas étendre le chemin. Donc, si votre 'PYTHONSTARTUP' commence par' ~ ', il ne sera pas importé –

Questions connexes