Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[python] ist mein python kaputt?
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum
View previous topic :: View next topic  
Author Message
pablo_supertux
Advocate
Advocate


Joined: 25 Jan 2004
Posts: 2931
Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)

PostPosted: Thu Dec 25, 2008 11:49 pm    Post subject: [python] ist mein python kaputt? Reply with quote

Ich wollte die Doku von inkscape über das "Help" menü anzeigen und ich bekam überall den folgenden Fehler:
Code:

Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.5/threading.py", line 486, in __bootstrap_inner
    self.run()
  File "/usr/share/inkscape/extensions/webbrowser_manual.py", line 11, in run
    webbrowser.open(self.url)
  File "/usr/lib/python2.5/webbrowser.py", line 61, in open
    if browser.open(url, new, autoraise):
  File "/usr/lib/python2.5/webbrowser.py", line 275, in open
    success = self._invoke(args, True, autoraise)
  File "/usr/lib/python2.5/webbrowser.py", line 238, in _invoke
    stderr=inout, preexec_fn=setsid)
  File "/usr/lib/python2.5/subprocess.py", line 594, in __init__
    errread, errwrite)
  File "/usr/lib/python2.5/subprocess.py", line 1091, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory


Ich kann leider kein Python, aber mir ist aufgefallen, dass kein Skript, der das Modul webbrowser verwendet, auch richtig arbeitet sondern diese Fehlermeldung erzeugt:

Code:

$ Python 2.5.2 (r252:60911, Oct 29 2008, 01:51:56)
[GCC 4.1.2 (Gentoo 4.1.2 p1.0.2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import webbrowser
>>> webbrowser.open("http://www.gentoo.org/")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.5/webbrowser.py", line 61, in open
    if browser.open(url, new, autoraise):
  File "/usr/lib/python2.5/webbrowser.py", line 275, in open
    success = self._invoke(args, True, autoraise)
  File "/usr/lib/python2.5/webbrowser.py", line 238, in _invoke
    stderr=inout, preexec_fn=setsid)
  File "/usr/lib/python2.5/subprocess.py", line 594, in __init__
    errread, errwrite)
  File "/usr/lib/python2.5/subprocess.py", line 1091, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory


Ich hab leider keine Ahnung, wie ich das reparieren kann, Google hat leider nicht weiter geholfen, denn das einzige, was ich an sich finde sind howtos, wie man dieses Modul verwendet.

Danke in voraus.
Gruss
Pablo
_________________
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5175

PostPosted: Fri Dec 26, 2008 7:39 pm    Post subject: Reply with quote

scheinbar findet python die Datei webbrowser.py oder die subprocess.py nicht
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4565

PostPosted: Fri Dec 26, 2008 8:00 pm    Post subject: Reply with quote

Ich glaub schon, dass die Dateien existieren. Vllt. findet er ein Browser-executable nicht?

Frag mal in der Console nach $BROWSER.
Das sollte dann nämlich auch in der python-Umgebungsvariablen stehen:
Code:
$ python
>>> import os
>>> os.environ["BROWSER"]
'/usr/bin/opera'

Wenn da was nicht passt, hätten wir einen möglichen Kandidaten.
Back to top
View user's profile Send private message
pablo_supertux
Advocate
Advocate


Joined: 25 Jan 2004
Posts: 2931
Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)

PostPosted: Fri Dec 26, 2008 10:45 pm    Post subject: Reply with quote

firefly wrote:
scheinbar findet python die Datei webbrowser.py oder die subprocess.py nicht


am Tracebak sieht man, dass es diese Dateien existieren ;)

franzf wrote:
Ich glaub schon, dass die Dateien existieren. Vllt. findet er ein Browser-executable nicht?

Frag mal in der Console nach $BROWSER.
Das sollte dann nämlich auch in der python-Umgebungsvariablen stehen:
Code:
$ python
>>> import os
>>> os.environ["BROWSER"]
'/usr/bin/opera'

Wenn da was nicht passt, hätten wir einen möglichen Kandidaten.

'/usr/bin/opera -newpage'
ich habe eine BROWSER Variable, nämlich '/usr/bin/opera -newpage'. Hab aber auf '/usr/bin/opera' verändert und den Test nochmal gestartet:

Code:

Python 2.5.2 (r252:60911, Oct 29 2008, 01:51:56)
[GCC 4.1.2 (Gentoo 4.1.2 p1.0.2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.environ["BROWSER"]
'opera'
>>> import webbrowser
>>> webbrowser.open("http://www.gentoo.org/")
True
>>>


Fehler zwar nicht mehr vorhanden, aber außer 'True' passiert nichts, sprich weder eine neue opera Instaz wird geöffnet noch ein Tab mit der URL wird erzeugt.

edit: hab zu Testzwecken unset BROWSER eingegeben und den Test gestartet. Da wird sehr wohl ein neues Tab in Opera aufgemacht. Das verstehe ich nicht, Auf dem Notebook (mit an sich identischer Konfiguration und gleicher Updatestand) wird Firefox gestartet...
_________________
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
Back to top
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4565

PostPosted: Sat Dec 27, 2008 11:10 am    Post subject: Reply with quote

Sry, mein Fehler :D
Hat bei mir geklappt, sofort, aber mit firefox. Bei mir war BROWSER auf den 3.5er-konqueror gesetzt, der aber nimmer existiert, drum wohl default->firefox.
Hab dann mal schnell auf opera umgestellt und den output gepostet, geklappt hat es nicht :(

Aber ich komm der Sache näher ;)
Irgendwo in webbrowser.py werden dem opera Argumente mitgegeben, die er nicht verträgt.
Hab zum Test in webbrowser.py einen print eingebaut:
Code:
>>> webbrowser.open("sf.net")
['opera', '-raise', '-remote', 'openURL(sf.net)']

Code:
$ opera -raise -remote sf.net
opera: Unknown argument: -raise

-raise kennt er nicht und bricht gleich ab.
Wenn ich nur "-raise" entferne, dann kommt zwar kein Fehler, aber mit "-remote" tut sich immer noch nix :/

Erst wenn ich alle Argumente entferne, öffnet sich opera.

Da muss man wohl eine Unterscheidung einbauen, dass das mit opera wieder klappt.
Solange wirst du wohl deinen BRWOSER auf was anderes umstellen müssen...

Grüße
Franz

EDIT//
Lösung:
Code:
$ grep Opera /usr/lib64/python2.5/webbrowser.py -n
312:class Opera(UnixBrowser):
313:    "Launcher class for Opera browser."
483:    # Opera, quite popular
485:        register("opera", None, Opera("opera"))

Öffne webbrowser.py, editiere in class Opera die Variable "raise_opts"
Code:
raise_opts = ["-noraise", ""]

So klappt webbrowser.py wieder mit opera.
Back to top
View user's profile Send private message
pablo_supertux
Advocate
Advocate


Joined: 25 Jan 2004
Posts: 2931
Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)

PostPosted: Sat Dec 27, 2008 6:49 pm    Post subject: Reply with quote

Hi

die Opera Option sollte lieber -newtab heißen.

Ich hab geschrieben, dass es wieder geht, aber erst als ich die BROWSER Variable nicht gesetzt habe (also unset BROWSER) und dass es bei mir Opera gestartet hat (statt firefox) fand ich schon erstaunlich (aber auch befriedigend, da ich Opera Nutzer bin), aber das kann ich mir nicht vorstellen, denn unter Unix gibt es auf BROWSER keine Stelle, wo man den "Standardbrowser" setzen könnte.
_________________
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum