webbrowser.open works in IDLE and cmd shell but not from cygwin prompt
Michael Hoffman
cam.ac.uk at mh391.invalid
Fri Apr 27 05:12:50 EDT 2007
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
More information about the Python-list
mailing list