Werner F. Bruhin wrote:
Hi Virgil,
Please post to the list, either wxPython or for this it is probably better to use the py2exe list.
Virgil Stokes wrote:
Ok Werner,
I have tried to reproduce the configuration that you used in your setup.py file; i.e.,
I have moved msvcm90.dll, msvcp90.dll, msvcr90.dll, and Microsoft.VC90.CRT.manifest to the folder: c:\dev\Py26MSdlls.I have attached the Microsoft.VC90.CRT.manifest (note, it does not contain any reference to the files msvcp90.dll, msvcn90.dll).
The one I used is naming them in the second to last line.
But this is probably not your problem.
Have you copied the setup.py and the sample app I used for the above wiki.
Yes, exactly as the same!
Does this build for you?
No it does not build --- No folders/files are created!
Could you please explain the entry in data_files (in your setup.py file) --- "lib\Microsoft.VC90.CRT"
Here is what was stored in data_files after it was executed:[('Microsoft.VC90.CRT', ['c:\\dev\\Py26MSdlls\\Microsoft.VC90.CRT.manifest', 'c:\\dev\\Py26MSdlls\\msvcr90.dll']), ('lib\\Microsoft.VC90.CRT', ['c:\\dev\\Py26MSdlls\\Microsoft.VC90.CRT.manifest', 'c:\\dev\\Py26MSdlls\\msvcr90.dll'])]
Also, I do not understand the use of "lib\library.zip" --- perhaps you can explain this briefly (the "lib" is what bothers me, as in data_files).
The way I use py2exe is to let it create a zip file with most of the stuff needed by the application, so instead of having about 90 folders and over 1,200 files which is used by my application I have one zip file.
But, what is the "lib" for?
It contains most of the modules/files of my application plus most of the library type stuff I use in my application (comtypes, ctypes, dateutil, distutils, email, encodings, kinterbasdb, matplotlib ......... etc etc).
A disadvantage is that one has to have two copies of the dll's, therefore the double entry in the data_files. Robin was going to look into if wxPython could be changed in a way that this second copy is not needed. I guess he has not had time or has not find a clean solution for this yet.
The following error is generated when I execute your setup.py file:
c:\Python26\lib\site-packages\py2exe\build_exe.py:16: DeprecationWarning: the sets module is deprecated
import setsAs previously mentioned this is just a "Warning" and does not affect the creation of the exe. The "sets" module is deprecated in 2.6 and I believe will be removed in Py3.0, but is being replace by some built in stuff - but the py2exe developers will have to change py2exe to correct this - as it is only a warning it is probably not very high on their list.
and no folders/files are created! Note, this is the only message that is generated.
I also verified that all the files given in dll_excludes are indeed on my Windows Vista system.
I am primarily on Vista and have created/tested the setup etc shown on the wiki on Vista and then run the generated application on XP, 2000, Win7 and Vista.
But, I get nothing except this warning message as the output from the build.
I hope that I am not overloading you with these emails --- if yes, just let me know. I really would like to be able to create *.exe files from *.py files on Python versions >= 2.6 on a Windows Vista platform. You seem to be one of the experts on this process and hopefully I can learn how to handle this myself without bothering you in the future.
No problem, but just keep it on the list so it is in an archive and someone else having the same problem will find the answer we will eventually find to fix your problem.
--V
···
I suggest to do the following:
- copy the sample stuff I did on the above wiki to some folder on your machine and make that build - if it does not build in its current form I would like to hear what errors you get.
- when above works go back to your setup.py and make sure that it is equivalent to the one shown in the above wiki. When you get it working then you can start tweaking it the way you want to have - as what I show is definitely not the only way to do all this.Werner