On Sun, 2012-02-05 at 14:32 -0800, spinel wrote:
> Thanks a lot for the answer. Bad news. Nothing works.
> Adding --tk in 1.5.1, main.exe is successfully created but when I
> execute it (with or without python installed, without the imported
> libraries) I get:
> <<
> Traceback (most recent call last):
> File "<string>", line 22, in <module>
> File "C:\pyinstaller-1.5.1\iu.py", line 436, in importHook
> mod = _self_doimport(nm, ctx, fqname)
> File "C:\pyinstaller-1.5.1\iu.py", line 521, in doimport
> exec co in mod.__dict__
> File "main\build\pyi.win32\main\outPYZ1.pyz/win32com.client", line
> 11, in <mod
> ule>
> File "C:\pyinstaller-1.5.1\iu.py", line 436, in importHook
> mod = _self_doimport(nm, ctx, fqname)
> File "C:\pyinstaller-1.5.1\iu.py", line 521, in doimport
> exec co in mod.__dict__
> File "main\build\pyi.win32\main\outPYZ1.pyz/
> win32com.client.gencache", line 66
> 2, in <module>
> File "main\build\pyi.win32\main\outPYZ1.pyz/
> win32com.client.gencache", line 58
> , in __init__
> File "main\build\pyi.win32\main\outPYZ1.pyz/
> win32com.client.gencache", line 64
> 9, in Rebuild
> File "main\build\pyi.win32\main\outPYZ1.pyz/
> win32com.client.gencache", line 65
> , in _SaveDicts
> File "main\build\pyi.win32\main\outPYZ1.pyz/
> win32com.client.gencache", line 14
> 1, in GetGeneratePath
> IOError: [Errno 22] invalid mode ('w') or filename: 'C:\
> \pyinstaller-1.5.1\\main
> \\dist\\main.exe?900671\\__init__.py'
> >>
>
> I don't understand what is going on. My program has dependencies on
> pywin32 but I don't see what is the problem because I was able to run
> the version without --tk *only* with tk/tcl or python (which includes
> tk/tcl) installed, but this one doesn't even work when the former
> works.
Please, use ArchiveViewer over the generated file (main.exe) and check
if win32comgenpy is bundled.
win32comgenpy is a runtime hook (support/rthooks/win32comgenpy.py) that
is executed before your application starts, and should configure
win32com so that it correctly use a temporary directory as the COM
cache.
If win32comegenpy is bundled, then you should debug why, even if it is
executed, win32com.client.gencache tries to go into the wrong directory.
Otherwise, I can help with the debugging, but I need you to provide a
small Python file that exhibits the same bug.
> Using the current development version I got the following error and
> main.exe was not even created:
> python pyinstaller.py c:\stock_program\main.py
> <<
> wrote C:\pyinstaller-pyinstaller-830e51e\main\main.spec
> INFO: Testing for ability to set icons, version resources...
> INFO: ... resource update available
> INFO: UPX is not available.
> INFO: checking Analysis
> INFO: building Analysis because out00-Analysis.toc non existent
> INFO: running Analysis out00-Analysis.toc
> INFO: Analyzing C:\pyinstaller-pyinstaller-830e51e\support
> \_pyi_bootstrap.py
> INFO: Analyzing c:\stock_program\main.py
> WARNING: pythoncom is changing it's name to pythoncom27
> ERROR: lib not found: MSVCR90.dll dependency of C:\Python27\DLLs
> \_tkinter.pyd
> Traceback (most recent call last):
> File "pyinstaller.py", line 90, in <module>
> main()
> File "pyinstaller.py", line 85, in main
> run_build(opts, spec_file)
> File "pyinstaller.py", line 49, in run_build
> PyInstaller.build.main(spec_file, **opts.__dict__)
> File "C:\pyinstaller-pyinstaller-830e51e\PyInstaller\build.py", line
> 1570, in
> main
> build(specfile, buildpath)
> File "C:\pyinstaller-pyinstaller-830e51e\PyInstaller\build.py", line
> 1480, in
> build
> execfile(spec)
> File "C:\pyinstaller-pyinstaller-830e51e\main\main.spec", line 5, in
> <module>
> hookspath=None)
> File "C:\pyinstaller-pyinstaller-830e51e\PyInstaller\build.py", line
> 369, in _
> _init__
> self.__postinit__()
> File "C:\pyinstaller-pyinstaller-830e51e\PyInstaller\build.py", line
> 304, in _
> _postinit__
> self.assemble()
> File "C:\pyinstaller-pyinstaller-830e51e\PyInstaller\build.py", line
> 433, in a
> ssemble
> importTracker.analyze_script(script)
> File "C:\pyinstaller-pyinstaller-830e51e\PyInstaller\mf.py", line
> 589, in anal
> yze_script
> return self.analyze_r('__main__')
> File "C:\pyinstaller-pyinstaller-830e51e\PyInstaller\mf.py", line
> 482, in anal
> yze_r
> newnms = self.analyze_one(name, nm, imptyp, level)
> File "C:\pyinstaller-pyinstaller-830e51e\PyInstaller\mf.py", line
> 543, in anal
> yze_one
> mod = self.doimport(nm, ctx, fqname)
> File "C:\pyinstaller-pyinstaller-830e51e\PyInstaller\mf.py", line
> 635, in doim
> port
> mod = self._handle_hook(mod, hook)
> File "C:\pyinstaller-pyinstaller-830e51e\PyInstaller\mf.py", line
> 651, in _han
> dle_hook
> mod = hook.hook(mod)
> File "C:\pyinstaller-pyinstaller-830e51e\PyInstaller\hooks\hook-
> _tkinter.py",
> line 83, in hook
> tcl_tk = find_tk_win(binaries)
> TypeError: find_tk_win() takes no arguments (1 given)
> >>
>
> Your thoughts?
The current development version has not been fully tested on Windows
yet, there are some regressions. I've fixed this specific bug. Can you
please try again? It would be great if it ends up with the same error
than 1.5.
Another question: I see that, with the current development version, you
get this error:
ERROR: lib not found: MSVCR90.dll dependency of C:\Python27\DLLs
\_tkinter.pyd
Does it happen with 1.5.1? Can you try also with 1.5.0 and 1.4? That
would help us tracking a possible different bug.
Thanks!
--
Giovanni Bajo :: [email protected]
Develer S.r.l. :: http://www.develer.com
My Blog: http://giovanni.bajo.it
smime.p7s
Description: S/MIME cryptographic signature
