Ignore IPython magic in python -


what best way ignore ipython magic when running scripts using python interpreter?

i include ipython magic in script files because work code interactively. example, autoreload magic, don't have keep reload-ing modules after make changes , fix bugs:

%load_ext autoreload %autoreload 2 

however, when try run script using usual python interpreter, error:

  file "<string>", line 1     %load_ext autoreload     ^ syntaxerror: invalid syntax 

wrapping ipython magic inside if statement not work, because incorrect syntax detected before file ran.


so best way python ignore ipython magic?

it's annoying have change scripts whenever want run in python, pdb, sphinx, etc.

for tools can read standard input use grep remove magic lines , pipe result python:

grep -v '^%' magicscript.ipy | python 

works bash alias:

alias pynomagic='( grep -v "^%" | python ) < ' pynomagic magicscript.ipy 

tools pdb accept filenames called (bash again):

pdb <(grep -v '^%' magicscript.ipy) 

Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -