Gregory Bloom wrote: > I'm running Python 2.5 under Windows. If I fire up IDLE and enter: > >>>> import webbrowser >>>> url = 'http://www.python.org' >>>> webbrowser.open_new(url) > > it works like a champ, opening the page in Firefox. Same thing goes > from a Windows cmd shell: it works as advertised. > > But if I open a cygwin bash shell and try the same thing from a python > prompt, I get: > >>>> import webbrowser >>>> url = 'http://www.python.org' >>>> webbrowser.open_new(url) > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "C:\Python25\lib\webbrowser.py", line 60, in open_new > return open(url, 1) > File "C:\Python25\lib\webbrowser.py", line 55, in open > if browser.open(url, new, autoraise): > File "C:\Python25\lib\webbrowser.py", line 185, in open > p = subprocess.Popen(cmdline, close_fds=True, preexec_fn=setsid) > File "C:\Python25\lib\subprocess.py", line 551, in __init__ > raise ValueError("close_fds is not supported on Windows " > ValueError: close_fds is not supported on Windows platforms > > What's up with that?
It's not a Cygwin issue, really. This occurs when one of ["firefox", "firebird", "seamonkey", "mozilla", "netscape", "opera"] is in your path. Your Cygwin environment must be set so one of these is in your path when it isn't normally. You should also submit a bug. > And, more to the point, how can I use webbrowser from scripts launched under > cygwin? If you're using native Windows Python as you seem to be, try webbrowser.get("windows-default").open_new(url) If you want to use Cygwin Python instead, I submitted a patch more than 1.5 years ago to allow it, but it hasn't been reviewed: http://python.org/sf/1244861 -- Michael Hoffman -- http://mail.python.org/mailman/listinfo/python-list