[IPython-user] os.startfile -> infinite loop
Ryan Krauss
ryanfedora at comcast.net
Wed Aug 31 13:02:13 CDT 2005
Fernando asked me to do the following:
Are you using ipython's %run command to run it? Because %run is just a
fancy
wrapper around execfile(). Try from within ipython both using
run noncolocated
and also
execfile('noncolocated.py')
Also try the latter from a plain python prompt. Let me know what
happens, and
we might have some ideas.
Both run and execfile from within Ipython start the inifinte loop.
execfile from a regular python prompt does not. It exists normally.
Ryan
Ryan Krauss wrote:
> I know this seems like a YAP problem because I don't have the problem
> with PDF files (and it may well be that it is something I have done to
> YAP), but I don't have the problem if I run the script from python
> directly rather than Ipython (but then it takes forever to re-run the
> script because it is re-importing each time).
>
> Ryan
>
> Ryan Krauss wrote:
>
>> I have an interesting problem with os.startfile and Ipython. I have a
>> script that generates a LaTeX file and runs LaTeX. I then open the
>> output with os.startfile. On my computer at home, I have no
>> problems. On the computer in my office, I have no problems if I run
>> pdflatex and open a pdf file (with Acrobat). However, if I generate a
>> dvi file and open it with YAP, it starts an infinite loop. I know
>> this sounds crazy. I will attach the python script.
>>
>> If I comment out this line
>> os.startfile(ostr) (line 77)
>> the code exits normally.
>>
>> If I leave this line in and I am opening a dvi file, the script goes
>> all the way back to the begining and re-executes continually.
>>
>> Any thoughts?
>>
>> Ryan
>>
>>
>> ------------------------------------------------------------------------
>>
>> import time
>> ta1=time.time()
>> import rwkascii
>> reload(rwkascii)
>> ta2=time.time()
>> print('import ascii time='+str(ta2-ta1))
>> import os
>> import pdb
>> from rwkos import FindFullPath
>>
>> ts=time.time()
>> maximapath='maxima'
>> latexcmd='latex'
>> viewerext='.dvi'
>> #latexcmd='pdflatex'
>> #viewerext='.pdf'
>> #pdb.set_trace()
>> mydir=FindFullPath('GT\\Research\\Samii\\modeling\\Feedback')
>> inname='noncolocated.tex'
>> fno,ext=os.path.splitext(inname)
>> outname=fno+'_out'+ext
>> mylist=rwkascii.rwklatexlist([],outname)
>> mylist.readfile(inname)
>>
>> #pdb.set_trace()
>> b4lines,maximalines, endlines=mylist.findenvironments('maxima',0)
>> maxpath=os.path.join(mydir,fno+'.max')
>> eqdir=os.path.join(mydir,'noncolocated_eqs')
>> if not os.path.exists(eqdir):
>> os.mkdir(eqdir)
>> #pdb.set_trace()
>> outlines=rwkascii.BuildMaximaScript(maximalines, maxpath, eqdir, 'maxeq')
>>
>> maxpath_fs=maxpath.replace('\\','/')
>> maximastr=maximapath+' -b '+maxpath_fs
>> #os.system(maximastr)
>> r,w=os.popen2(maximastr)
>> #maxe=e.readlines()
>> #e.close()
>> maxo=w.readlines()
>> w.close()
>> #r.close()
>> if rwkascii.searchlist(maxo,'Incorrect syntax'):
>> for line in maxo:
>> print(line.strip())
>> #pdb.set_trace()
>> findlist=['Fa','xa']
>> replist=['F_a','x_a']
>> #pdb.set_trace()
>> tr1=time.time()
>> outbiglist=rwkascii.ReadMaximaOutput(outlines,findlist,replist)
>> tr2=time.time()
>> print('ReadMaxima time='+str(tr2-tr1))
>> newlist=rwkascii.rwklatexlist([],outname)
>> newlist.list=mylist.reassemble(b4lines,outbiglist,endlines)
>> #newlist.wrapeq()
>> newlist.addheader()
>> newlist.tofile()
>>
>> #latexstr1=latexcmd+' -interaction=batchmode '+outname
>> latexstr2=latexcmd+' -interaction=nonstopmode '+outname
>> r,w=os.popen2(latexstr2)
>> texout=w.readlines()
>> w.close()
>> r.close()
>> if rwkascii.searchlist(texout,'LaTeX Error'):
>> for line in texout:
>> print(line.strip())
>> if rwkascii.searchlist(texout,'Label(s) may have changed'):
>> print('Running LaTeX a second time.')
>> r,w=os.popen2(latexstr2)
>> texout=w.readlines()
>> w.close()
>> r.close()
>> outfno,ext=os.path.splitext(outname)
>> ostr=outfno+viewerext
>> os.startfile(ostr)
>> te=time.time()
>> print('run time='+str(te-ts))
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> IPython-user mailing list
>> IPython-user at scipy.net
>> http://scipy.net/mailman/listinfo/ipython-user
>
>
More information about the IPython-user
mailing list