webbrowser.open works in IDLE and cmd shell but not from cygwin prompt

G

Gregory Bloom

I'm running Python 2.5 under Windows. If I fire up IDLE and enter:

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:
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? And, more to the point, how can I use webbrowser
from scripts launched under cygwin?
 
P

Paddy

I'm running Python 2.5 under Windows. If I fire up IDLE and enter:


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:


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? And, more to the point, how can I use webbrowser
from scripts launched under cygwin?

I have X and kde for cygwin installed.
If i use startxwin to start an xterm, without starting kde, and do
the
above in cygwins python version 2.4.3 i have to wait around 3 minutes
then up pops konqueror at the requested page.

- Paddy.
 
M

Michael Hoffman

Gregory said:
I'm running Python 2.5 under Windows. If I fire up IDLE and enter:


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:

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
 
G

Gregory Bloom

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


Awesome! That works perfectly. Thanks.
 
S

Steve Holden

Gregory said:
Awesome! That works perfectly. Thanks.
Interestingly when I tried this under Cygwin I got the links browser
displaying the material from the given URL.

That's different enough that I might keep it like that.:)

regards
Steve
--
Steve Holden +1 571 484 6266 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://del.icio.us/steve.holden
------------------ Asciimercial ---------------------
Get Python in your .sig and on the web. Blog and lens
holdenweb.blogspot.com squidoo.com/pythonology
tag items: del.icio.us/steve.holden/python
All these services currently offer free registration!
-------------- Thank You for Reading ----------------
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,733
Messages
2,569,440
Members
44,829
Latest member
PIXThurman

Latest Threads

Top