Seite 1 von 1

import images Problem

Verfasst: Dienstag 30. Mai 2006, 12:10
von de_master
Hallo @ all,
ich habe Python 2.4 und dazu das wxPython für Py2.4 (unicode) installiert.

Laut dem Buch "wxPython in Action" sollte import images funktionieren.
Ich bekomme jedoch folgenden Fehler:

>>> import images

Traceback (most recent call last):
File "<pyshell#0>", line 1, in -toplevel-
import images
ImportError: No module named images

Wo bekomme ich das images Modul her?

Gruss michael

Verfasst: Dienstag 30. Mai 2006, 12:13
von pr0stAta
Hi de_master,
hier gibts die Lösung:
http://mail.python.org/pipermail/python ... 87146.html

Verfasst: Dienstag 30. Mai 2006, 12:38
von de_master
Ich hab durch google rausgefunden das das images Modul in den Demos ist.

Durch deinen Tipp hab ichs nun hinbekommen. Einfach das images.py in den Lib Ordner kopieren.

Verfasst: Dienstag 30. Mai 2006, 12:44
von de_master
Jedoch funktioniert das Programm nicht :( Weis jemand wesshalb? Hab ich genau so abgetippt wies im Buch steht :(

Folgender Code:

Code: Alles auswählen

import wx
import images

class ToolbarFrame(wx.Frame):

    def __init__(self, parent, id):
        wx.Frame.__init__(self, parent, id, 'Toolbars', size = (300, 200))
        panel = wx.Panel(self)
        panel.SetBackgroundColour('White')
        statusBar = self.CreateStatusBar()
        toolbar = self.CreateToolBar()
        toolbar.AddSimpleTool(wx.NewId(), images.getNewBitmap(), "New", "Long help or 'New'")
        toolbar.Realize()
        menuBar = wx.MenuBar()

        menu1 = wx.Menu()
        menuBar.Append(menu1, "&File")

        menu2 = wx.Menu()
        menu2.Append(wx.NewId(), "&Copy", "Copy in status bar")
        menu2.Append(wx.NewId(), "C&ut", "")
        menu2.Append(wx.NewId(), "Paste", "")
        menu2.AppendSeparator()
        menu2.Append(wx.NewId(), "&Options...", "Display Options")
        
        menuBar.Append(menu2, "&Edit")
        self.SetMenuBar(menuBar)

if __name__ == '__main__':
    app = wx.PySimpleApp()
    frame = ToolbarFrame(parent = None, id = -1)
    frame.Show()
    app.MainLoop()
Folgende Fehlermeldung:
Traceback (most recent call last):
File "C:\Dokumente und Einstellungen\Michael.Strecker\Desktop\PyTutFiles\statusBar.py", line 31, in -toplevel-
frame = ToolbarFrame(parent = None, id = -1)
File "C:\Dokumente und Einstellungen\Michael.Strecker\Desktop\PyTutFiles\statusBar.py", line 12, in __init__
toolbar.AddSimpleTool(wx.NewId(), images.getNewBitmap(), "New", "Long help or 'New'")
AttributeError: 'module' object has no attribute 'getNewBitmap'
>>>

Verfasst: Dienstag 30. Mai 2006, 12:57
von gerold
de_master hat geschrieben:Jedoch funktioniert das Programm nicht :( Weis jemand wesshalb? Hab ich genau so abgetippt wies im Buch steht :(
Hi de_master!

Das ist ein schlechtes Beispiel. Das hätte, meiner Meinung nach, nicht ins Buch gehört.

Die Funktion getNewBitmap() gibt es nicht. Vielleicht gab es sie Früher einmal. Aber Früher war die Demo, glaube ich, auch noch in wxPython integriert. Wenn du dieses Beispiel unbedingt zum Laufen bekommen möchtest, dann musst du auf das Modul "images.py" verzichten und dir selber ein paar Bilder laden.

Du könntest dir aber auch eine ältere "images.py" besorgen. Aber so wichtig wird dieses Beispiel ja nicht für dich sein, oder? ;-)

mfg
Gerold
:-)

Verfasst: Dienstag 30. Mai 2006, 12:59
von de_master
Aja oke. Dann lass ich das mal aus und probiers später wenn ich mit dem Buch durch bin.

Michael

Verfasst: Dienstag 30. Mai 2006, 13:03
von pr0stAta
Fehler erkannt - Fehler gebannt :)
Anstatt

Code: Alles auswählen

import images
versuche mal

Code: Alles auswählen

from wx.lib import pydocview as images
Gruss

Verfasst: Dienstag 30. Mai 2006, 14:59
von Francesco
pr0stAta hat geschrieben:Fehler erkannt - Fehler gebannt :)
Anstatt

Code: Alles auswählen

import images
versuche mal

Code: Alles auswählen

from wx.lib import pydocview as images
Gruss
Auf der Manning Website kann man sich die ganzen Beispiele runterladen.
Da gibt es auch das images.py unter Chapter2 Verzeichnis.

http://www.manning.com/rappin/

Source ist:
http://www.manning-source.com/books/rap ... in_src.zip


also images.py direkt enthält:

Code: Alles auswählen

#----------------------------------------------------------------------
# This file was generated by encode_bitmaps.py
#
from wx import ImageFromStream, BitmapFromImage
from wx import EmptyIcon
import cStringIO

def getNewData():
    return \
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0f\x08\x06\
\x00\x00\x00\xedsO/\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\
\x00YIDATx\x9c\xed\xd31\n@!\x0c\x03\xd0\xa4\xfe\xfb\xdfX\xe3\xf0\x97R\xa5(.\
\x0ef\x13\xe45\xa2\x92Vp\x92\xcf/\xd4\xaa\xb2\xcd\xb4\xc2\x14\x00\x00in\x90\
\x84ZUDl\xa9\xa7\xc3c\xcb-\x80\xfc\x87{d8B6=B\xdb\rfy\xc0\r\xc0\xf0\x0e\xfc\
\x1d\xaf\x84\xa7\xbf\xb1\x03\xe1,\x19&\x93\x9a\xd2\x97\x00\x00\x00\x00IEND\
\xaeB`\x82' 

def getNewBitmap():
    return BitmapFromImage(getNewImage())

def getNewImage():
    stream = cStringIO.StringIO(getNewData())
    return ImageFromStream(stream)

Interessant ist auch das Author Online Forum:


http://www.manning-sandbox.com/forum.jspa?forumID=202

Dort werden Bugs im Buch diskutiert und solche Anfrage kannst du auch stellen (wie hier mit deinem Problem mit images.py).

Gerold hat Recht, das Beispiel ist ein bisschen unglücklich gewählt.
Aber das beste ist ohnehin, den ganzen Source herunterzuladen.

Re: import images Problem

Verfasst: Sonntag 28. Oktober 2012, 19:23
von kay2012
Um das Problem zu lösen habe ich die images.py Datei in den Lib Ordner kopiert.
Dann das getNewBitmap gegen getPyBitmap ausgetauscht.

Scheint alternativ zu funktionieren.
Statt einem Ordner (wie im Buch) sieht man: ein Stück Torte. :lol:

Kein Witz !