From: James H. <jam...@gm...> - 2007-04-17 18:59:51
|
I appologize in advance if this is a duplicate of my previous email. The last email I sent was returned with a unable to deliver notification. Below is my question concerning the issue captioned in the subject. I am relatively new to using py2exe and have enjoyed it so far. The problem I am having however comes with Vista. I am trying to embed an icon into the executable file for my program. I followed the instructions on the py2exe wiki and was able to get it to work well on my XP computer, but on Vista I get a file not found error. Including the .ico file in the directory with the exe has not worked yet either. Is this a known error that people have been having and is there a fix for it? Or am I just doing something incorrectly. My setup.py file contains the following: from distutils.core import setup import py2exe import sys sys.argv.append("py2exe") setup(windows = [{"script": 'Authorizer.py', "icon_resources": [(0, " LabJackIcon.ico")]}]) And my icon inclusion code is as follows: exeName = win32api.GetModuleFileName(win32api.GetModuleHandle(None)) self.SetIcon(wx.Icon(exeName, wx.BITMAP_TYPE_ICO)) Thanks in advance for any help, Jim Howard |
From: Werner F. B. <wer...@fr...> - 2007-04-18 14:55:54
|
Hi James, James Howard wrote: > I appologize in advance if this is a duplicate of my previous email. > The last email I sent was returned with a unable to deliver > notification. Below is my question concerning the issue captioned in > the subject. I only see it once. > > I am relatively new to using py2exe and have enjoyed it so far. The > problem I am having however comes with Vista. I am trying to embed an > icon into the executable file for my program. I followed the > instructions on the py2exe wiki and was able to get it to work well on > my XP computer, but on Vista I get a file not found error. Including > the .ico file in the directory with the exe has not worked yet either. > > Is this a known error that people have been having and is there a fix > for it? Or am I just doing something incorrectly. > > My setup.py file contains the following: > > from distutils.core import setup > import py2exe > import sys > sys.argv.append("py2exe") > setup(windows = [{"script": 'Authorizer.py', "icon_resources": [(0, > "LabJackIcon.ico")]}]) > > And my icon inclusion code is as follows: > > exeName = win32api.GetModuleFileName(win32api.GetModuleHandle(None)) > self.SetIcon(wx.Icon(exeName, wx.BITMAP_TYPE_ICO)) I wouldn't use the win32api for this as they are Windows specific. Not really an solution to your problem, but another way to get to Rome:) I do this: icon = myimages.getlogo32v1Icon() self.SetIcon(icon) myimages is an image resource file created with py2img Werner |
From: James H. <jam...@gm...> - 2007-04-18 15:41:23
|
Thanks for the reply Werner: > And my icon inclusion code is as follows: > > exeName = win32api.GetModuleFileName(win32api.GetModuleHandle (None)) > self.SetIcon(wx.Icon(exeName, wx.BITMAP_TYPE_ICO)) I wouldn't use the win32api for this as they are Windows specific. Not really an solution to your problem, but another way to get to Rome:) I do this: icon = myimages.getlogo32v1Icon () self.SetIcon(icon) myimages is an image resource file created with py2img I was looking for a way to implement your solution, but was unable to find any information about the py2img module. A google search for it returned nothing as did a sourceforge search. Is there a place you can point me to where I can find more information about the module? On 4/18/07, Werner F. Bruhin <wer...@fr...> wrote: > > Hi James, > > James Howard wrote: > > I appologize in advance if this is a duplicate of my previous email. > > The last email I sent was returned with a unable to deliver > > notification. Below is my question concerning the issue captioned in > > the subject. > I only see it once. > > > > I am relatively new to using py2exe and have enjoyed it so far. The > > problem I am having however comes with Vista. I am trying to embed an > > icon into the executable file for my program. I followed the > > instructions on the py2exe wiki and was able to get it to work well on > > my XP computer, but on Vista I get a file not found error. Including > > the .ico file in the directory with the exe has not worked yet either. > > > > Is this a known error that people have been having and is there a fix > > for it? Or am I just doing something incorrectly. > > > > My setup.py file contains the following: > > > > from distutils.core import setup > > import py2exe > > import sys > > sys.argv.append("py2exe") > > setup(windows = [{"script": 'Authorizer.py', "icon_resources": [(0, > > " LabJackIcon.ico")]}]) > > > > And my icon inclusion code is as follows: > > > > exeName = win32api.GetModuleFileName(win32api.GetModuleHandle > (None)) > > self.SetIcon(wx.Icon(exeName, wx.BITMAP_TYPE_ICO)) > I wouldn't use the win32api for this as they are Windows specific. > > Not really an solution to your problem, but another way to get to Rome:) > > I do this: > icon = myimages.getlogo32v1Icon () > self.SetIcon(icon) > > myimages is an image resource file created with py2img > > Werner > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Py2exe-users mailing list > Py2...@li... > https://lists.sourceforge.net/lists/listinfo/py2exe-users > |
From: Werner F. B. <wer...@fr...> - 2007-04-18 16:23:31
|
Hi James, James Howard wrote: ... > > I was looking for a way to implement your solution, but was unable to > find any information about the py2img module. A google search for it > returned nothing as did a sourceforge search. Is there a place you can > point me to where I can find more information about the module? It would help if I gave you the right name :(, it is img2py and comes with wxPython and lives in: \Python25\Lib\site-packages\wx-2.8-msw-ansi\wx\tools Werner |
From: James H. <jam...@gm...> - 2007-04-18 17:28:45
|
Werner, Thanks for the solution. It worked on Win XP like the previous one did and works better (although not perfectly on Vista). The file does not have the ico appear on the exe in windows explorer in vista (like before), but now if you load the exe, an error about not being able to locate the file does not come up. I am still not sure how to associate the icon with the exe in Vista, but this solution is better and will work for now. Do you know another solution that may work full on Vista? As a side note, the py2exe wiki article on "custom icons" details the process to do what I originally did: > exeName = win32api.GetModuleFileName(win32api.GetModuleHandle (None)) > self.SetIcon(wx.Icon(exeName, wx.BITMAP_TYPE_ICO)) Yet the article says nothing about the solution you just gave me with using the wxPythons img2py package. Your solution seems much better to me and I think it should be included on that page. I would include it, but the page is immutable to me. Thanks for the help, Jim On 4/18/07, Werner F. Bruhin <wer...@fr...> wrote: > > Hi James, > > James Howard wrote: > ... > > > > I was looking for a way to implement your solution, but was unable to > > find any information about the py2img module. A google search for it > > returned nothing as did a sourceforge search. Is there a place you can > > point me to where I can find more information about the module? > It would help if I gave you the right name :(, it is img2py and comes > with wxPython and lives in: > > \Python25\Lib\site-packages\wx-2.8-msw-ansi\wx\tools > > Werner > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Py2exe-users mailing list > Py2...@li... > https://lists.sourceforge.net/lists/listinfo/py2exe-users > |
From: Werner F. B. <wer...@fr...> - 2007-04-18 18:11:36
|
Hi James, James Howard wrote: > Werner, > > Thanks for the solution. You are welcome. It worked on Win XP like the previous one did > and works better (although not perfectly on Vista). The file does not > have the ico appear on the exe in windows explorer in vista (like > before), but now if you load the exe, an error about not being able to > locate the file does not come up. Are you still doing the asign of the icon in the setup.py? I.e. you need to do both, the app.SetIcon(withA16x16Icon.ico), and the following line (I think it is this one what makes the icon appear in Vista explorer) setup(windows = [{"script": 'Authorizer.py', "icon_resources": [(0, "LabJackIcon.ico")]}]) And if this .ico file contains e.g. a 48x48 version of the icon then Vista will use this at the button left of the explorer window when you click on the executable or on a file were the extension is associated with the executable. I use IconCool Editor to put a 16x16, a 32x32, and a 48x48 icon into one and the same file, then this file I use for the setup.py process. ... I would include it, > but the page is immutable to me. Did you create an account for yourself on the wiki page? I don't know on the py2exe one but e.g. on the wxPython you can only change things when you are logged in. Werner |
From: James H. <jam...@gm...> - 2007-04-18 18:19:17
|
Werner, The icon I am using is 32 X 32. I don't know if this matters for Vista or if it requires a 48X48 pixel icon. Regardless, the current code I have for this project is the following: In my main gui file to set the icon: icon = Myimages.getLabJackIcon() self.SetIcon(icon) In the setup.py file: from distutils.core import setup import py2exe import sys sys.argv.append("py2exe") setup(windows = [{"script": 'Authorizer.py', "icon_resources": [(0, " LabJackIcon.ico")]}]) As for the wiki, creating an account fixed the problem. Although I am going to wait to edit the page until we get a solution fully hashed out. If there is one that is. Jim On 4/18/07, Werner F. Bruhin <wer...@fr...> wrote: > > Hi James, > > James Howard wrote: > > Werner, > > > > Thanks for the solution. > You are welcome. > It worked on Win XP like the previous one did > > and works better (although not perfectly on Vista). The file does not > > have the ico appear on the exe in windows explorer in vista (like > > before), but now if you load the exe, an error about not being able to > > locate the file does not come up. > Are you still doing the asign of the icon in the setup.py? I.e. you > need to do both, the app.SetIcon(withA16x16Icon.ico), and the following > line (I think it is this one what makes the icon appear in Vista explorer) > > setup(windows = [{"script": 'Authorizer.py', "icon_resources": [(0, > "LabJackIcon.ico")]}]) > > And if this .ico file contains e.g. a 48x48 version of the icon then > Vista will use this at the button left of the explorer window when you > click on the executable or on a file were the extension is associated > with the executable. > > I use IconCool Editor to put a 16x16, a 32x32, and a 48x48 icon into one > and the same file, then this file I use for the setup.py process. > > ... > > I would include it, > > but the page is immutable to me. > Did you create an account for yourself on the wiki page? I don't know > on the py2exe one but e.g. on the wxPython you can only change things > when you are logged in. > > Werner > |
From: Werner F. B. <wer...@fr...> - 2007-04-19 07:29:22
|
Hi James, James Howard wrote: > Werner, > > The icon I am using is 32 X 32. I don't know if this matters for Vista > or if it requires a 48X48 pixel icon. I initially I had a 16x16, it worked but was ugly as Vista resized it. > Regardless, the current code I have for this project is the following: > > In my main gui file to set the icon: > > icon = Myimages.getLabJackIcon() > self.SetIcon(icon) That looks fine and when you run the app you do see your icon on the top left of the frame? > > In the setup.py file: > > from distutils.core import setup > import py2exe > import sys > sys.argv.append("py2exe") What is the above line for? > setup(windows = [{"script": 'Authorizer.py', "icon_resources": [(0, > "LabJackIcon.ico")]}]) I am not sure about the above format, I do it slightly differently. Note that the "1" for the icon_resources is to select the icon from the file, i.e. the second one in my case. twcb = MetaBase( script = "twcb.py", other_resources = [(RT_MANIFEST, 1, manifest_template % dict(prog="The Wine Cellar Book"))], icon_resources = [(1, r"images/twcb.ico")], dest_base = r"prog\twcb") vinoxml = MetaBase( script = "vinoxml.py", other_resources = [(RT_MANIFEST, 1, manifest_template % dict(prog="The Wine Cellar Book - vinoxml"))], icon_resources = [(1, r"images/vinoxmlsimple.ico")], dest_base = r"prog\vinoxml") setup( classifiers = ["Copyright:: Werner F. Bruhin", "Development Status :: 5 Stable", "Intended Audience :: End User", "License :: Shareware", "Programming Language :: Python, wxPython", "Topic :: Home Use" "Natural Language :: German", "Natural Language :: French", "Natural Language :: English"], windows = [twcb, vinoxml], options = options, zipfile = zipfile, data_files = [("prog\\locale\\fr\\LC_MESSAGES", mylocaleFR), ("prog\\locale\\de\\LC_MESSAGES", mylocaleDE), ("prog\\locale\\en\\LC_MESSAGES", mylocaleEN), ("prog\\help", ["c:\\dev\\thewinecellarbookv2\\program\\help\\TWCB.chm",]), ("prog\\images", myimages), ("prog\\images\\others", myotherimages), ("prog\\", myblankimages), ("prog\\", myreps), ("prog\\", license_files), ("prog\\", ["c:\\dev\\thewinecellarbookv2\\program\\twcbIntro.htm", "c:\\dev\\thewinecellarbookv2\\program\\whatsnew_en.htm", "c:\\dev\\thewinecellarbookv2\\program\\whatsnew_de.htm", "c:\\dev\\thewinecellarbookv2\\program\\whatsnew_fr.htm"]), ("lib\\matplotlibdata", mpfiles), # need to use this form when using lib #### matplotlib.get_py2exe_datafiles(), ("prog\\amaradata", amaradata), ("prog\\amaradata\\Schemata", amaraschemata), #### ("prog\\", python4dll) ] ) Hope above helps. Werner |