On 13 September 2013 04:23, Pietro Moras <studio...@hotmail.com> wrote:

> Off-topic? It's HOT topic.
>    I envisioned to reach a similar result learning how to use directly the
> cx_Freeze classes, methods & properties.
>
I'm glad you think so ;-)

> Question>  Do you deem this as a a wrong strategy?
>
What? The NSIS installer? cx_Freeze? I don't deem either right or wrong. I
gave some advantages and disadvantages of the new approach, but I think
it's an alternative worth exploring for distributing Python GUI
applications on Windows.

> Remark>  Even at prototype level I presume that to “Check whether a
> suitable version of Python is installed before extracting it”, which you've
> suggested as a “Possible extension”, should be granted first.
>
The main reason I'm not worrying about this yet is that it extracts and
runs the Python installer, but that does nothing if that version of Python
is already installed. So in that case, the only advantage of checking
before extracting it is to save a few seconds during installation.

Secondly, there's a slightly difficult question about what is a 'suitable'
version of Python. If the application is bundled with Python 3.2, say, and
the system already has Python 3.3, should it try to run with 3.3, or
install a copy of 3.2 alongside it? What about bugfix releases? Or should
the developer encode in the installer the versions it should accept? As it
happens, just running the Python installer achieves what I think is the
best simple answer: treat each feature release of Python (e.g. 3.2, 3.3) as
a separate runtime, and always keep the latest bugfix release within each
version (e.g. 3.3.1 will be replaced by 3.3.2).

Finally, as currently written, the start menu shortcut relies on the Python
Windows launcher described in PEP 397, which is only included with Python
3.3. Once it's installed, the launcher works for any version of Python, but
it does mean that my prototype installer relies on having Python 3.3 either
bundled within it, or already on the system. The advantage of this is that
the developer can use a shebang to indicate which version of Python to run
the application with, without requiring any extra complexity in the
installer.

Thanks for your comments,
Thomas
------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
_______________________________________________
cx-freeze-users mailing list
cx-freeze-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cx-freeze-users

Reply via email to