From: Alex Hall on
On 4/14/10, Enrico <nospam(a)nospam.it> wrote:
> Il 14/04/2010 14:25, Alex Hall ha scritto:
>> I notice that I do not have the dll when py2exe says it cannot locate
>> the dll. If I need vs2008, then what good is vcredist_xxx.exe? It does
>> not seem to give me the dll, but the py2exe tutorial says that it
>> will. What am I missing?
>
> Alex, the DLLs are in winsxs, try searching there.
They are not there, unless I am in the wrong folder. I searched in
c:\windows\winsxs.
> For py2exe, it doesn't find the DLLs so you should provide them. In my
> setup.py (I use also the wxPython lib so something could be different) I
> added:
>
> def isSystemDLL(pathname):
> if os.path.basename(pathname).lower() in ('msvcp90.dll'):
> return 0
> return origIsSystemDLL(pathname)
> origIsSystemDLL = py2exe.build_exe.isSystemDLL
> py2exe.build_exe.isSystemDLL = isSystemDLL
>
> Then I added to 'dll_excludes' the same 'msvcp90.dll'.
>
> In this way py2exe is ok without this DLL and can build the excutable.
> Note that the dll that py2exe is looking for is msvcp90 in my case.
>
> Then I added a subdirectory with the DLLs (msvcr90, msvcp90, msvcm90) to
> the distribution directory. You need a manifest too :-)
>
> Ok, it seems complex but you can check the followings
> http://www.py2exe.org/index.cgi/Tutorial
I have looked there, that is where I got the redist exe file which did
not work. I then went and got a copy of the file right from Microsoft,
but no luck there either.
> http://wiki.wxpython.org/py2exe (related to wxPython but look at the
> manifest)
>
> An other solution is to run the vcredist on the target machine and the
> application will run. This is the suggested solution if you cannot
> distibute the DLLs.
I cannot distribute them. So you are saying to compile without the
dll, then run the redist file? I would much rather package everything
as this is meant to be a stand-alone app, runable from anywhere (even
a thumb drive on a computer on which you are a guest, like a hotel or
library machine). It is not meant to install anything or copy any
files, just run in memory and then close when the user decides to
close.
>
> Bye, Enrico
> --
> http://mail.python.org/mailman/listinfo/python-list
>


--
Have a great day,
Alex (msg sent from GMail website)
mehgcap(a)gmail.com; http://www.facebook.com/mehgcap
From: Filip on
Maybe this is a stupid question. I don't know, I don't use windows.
But what's so special about msvcr and visual studio compiler? Python
compiles fine with gcc under unixes, so is it a problem to compile
python interpreter with mingw and get rid of the proprietary runtime
dependecies? Or does the windows python port make heavy use of ms'
libs?
From: Neil Hodgson on
Filip:
> But what's so special about msvcr and visual studio compiler? Python
> compiles fine with gcc under unixes, so is it a problem to compile
> python interpreter with mingw and get rid of the proprietary runtime
> dependecies?

MinGW uses an older version of Microsoft's runtime MSVCRT.DLL. While
MSVCRT.DLL is present in all commonly used versions of Windows, the
particular version varies and, unless you have licensed an older version
of Visual C++, you probably do not have the right to redistribute it.

Neil