> A standalone installer and/or portable Leo is a reasonable goal but
> nobody (with the skills) has been itchy enough to tackle doing it.

I tried to build an exe using pyinstaller but didn't get very far. If
anyone else cares to try it, here's what I learned:

The executable packer, UPX, is incompatible with windows and qt4, so
use `--noupx`. The symptom is the windows error dialog "... has
stopped working", and "do you want
to send more information [to microsoft]?" and no console messages when
running the resultant launchLeo.exe.

   pyinstaller --noupx ...

The manual (pyinstaller/docs/Manual.html) is a little unclear on
setting the verbosity of errors and warnings, so:

`--log-level=x` is an option to pass to pyinstaller or ./utils/Build.py, while
`--debug` is an option which can be used on the resultant exe

(but in this case didn't help any, as there were no further errors reported.)

The report file .../myapp/build/.../warn*.txt can provide some clues
as to what be might be going on, however "module missing" messags are
usually harmless. (c.f. ./doc/Manual.html#buildtime-warnings)

Use 'python .\utils\ArchiveViewer.py ....\launchleo.exe' to have a
look at what is packaged in the .exe. (look in outPYZ1.pyz) and
compare that to the warning text file. I didn't do an exhaustive
compare, but I believe in this case all reported missing modules are
packaged.

My testing environment was:

- Leo updated from bzr this morning (r4602)
- pyinstaller svn r1693, exported to a new directory and cleaned
according to http://www.pyinstaller.org/wiki/HowtoReportBugs
- Python 2.7, 32 bit.
- Win7 pro x64

Build command:

{{{
pyinstaller --noupx --log-level=DEBUG
--icon=b:\apps\leo-editor\leo\Icons\LeoApp.ico
b:\apps\leo-editor\launchLeo.py
}}}

Exe test, from python-ignorant command shell:

{{{
> launchLeo\dist\launchLeo\launchLeo.exe --debug
*** isPython3: False
scanOptions: *** debug mode on
Traceback (most recent call last):
  File "<string>", line 8, in <module>
  File "D:\temp\pyinstaller\launchLeo\build\pyi.win32\launchLeo\outPYZ1.pyz\leo.
core.runLeo", line 120, in run
  File "D:\temp\pyinstaller\launchLeo\build\pyi.win32\launchLeo\outPYZ1.pyz\leo.
core.runLeo", line 472, in doPostPluginsInit
  File "D:\temp\pyinstaller\launchLeo\build\pyi.win32\launchLeo\outPYZ1.pyz\leo.
core.runLeo", line 524, in createFrame
  File "D:\temp\pyinstaller\launchLeo\build\pyi.win32\launchLeo\outPYZ1.pyz\leo.
core.leoGlobals", line 2237, in openWithFileName
  File "D:\temp\pyinstaller\launchLeo\build\pyi.win32\launchLeo\outPYZ1.pyz\leo.
core.leoGlobals", line 2372, in openWrapperLeoFile
  File "D:\temp\pyinstaller\launchLeo\build\pyi.win32\launchLeo\outPYZ1.pyz\leo.
core.leoApp", line 612, in newLeoCommanderAndFrame
  File "D:\temp\pyinstaller\launchLeo\build\pyi.win32\launchLeo\outPYZ1.pyz\leo.
plugins.qtGui", line 4203, in finishCreate
  File "D:\temp\pyinstaller\launchLeo\build\pyi.win32\launchLeo\outPYZ1.pyz\leo.
plugins.qtGui", line 7349, in createFrame
  File "D:\temp\pyinstaller\launchLeo\build\pyi.win32\launchLeo\outPYZ1.pyz\leo.
plugins.qtGui", line 2176, in construct
AssertionError
}}}

And here's a corresponding thread I opened on the pyinstaller mailing list:
http://groups.google.com/group/pyinstaller/browse_thread/thread/b368a09707836f60

cheers,

-matt

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/leo-editor?hl=en.

Reply via email to