473,396 Members | 2,011 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

McMillan Installer vs. Python 2.4

3 quick questions for the newsgroup:

1. Does anyone know why McMillan Installer 5b5 does not work with
Python 2.4 under Linux (works with Python 2.3 just fine), and how to
fix it?

2. Will anyone be picking up the maintenance and development ball for
McMillan Installer?

3. Is there another, better-supported solution for distributing a
Python executable under Linux/Unix/AIX? A single-file solution (ala
Installer's '--onefile') is a requirement for me.

4. Installer supports the use of upx for those platforms that support
it. AIX does not. Does anyone have any other solutions for
compressing a Python executable which still leaves that executable
executable? Believe it or not, the biggest impediment to my using
Python at work is the enormous size of the executable. (Installing
Python itself on the target platforms is not allowed).

OK, that was 4.

Jul 18 '05 #1
4 2083
mrmak...@cox.net wrote:
1. Does anyone know why McMillan Installer 5b5 does not work with
Python 2.4 under Linux (works with Python 2.3 just fine), and how to
fix it?
I expect so.
2. Will anyone be picking up the maintenance and development ball for
McMillan Installer?
There was a 6a2 release for Linux and Windows, but I don't think
anyone's developing it further.
3. Is there another, better-supported solution for distributing a
Python executable under Linux/Unix/AIX? A single-file solution (ala
Installer's '--onefile') is a requirement for me.
cx_Freeze is good, but makes multiple files, if you need single file
you could just make the files into an RPM or simply tar.bz2 them up,
then your installation is just one file, extracted to many (still just
one directory....)
4. Installer supports the use of upx for those platforms that support
it. AIX does not. Does anyone have any other solutions for
compressing a Python executable which still leaves that executable
executable? Believe it or not, the biggest impediment to my using
Python at work is the enormous size of the executable. (Installing
Python itself on the target platforms is not allowed).


I don't particularly like the way UPX works, it uses more memory in the
end anyway, and disk space is cheaper. You could use strip and python
--OO to remove docstrings etc.

I've written a couple of pretty complex GUI applications and have never
seen them build to anything more than about 7Mb for wxPython or about
3Mb for PyQt.

You could just distribute the source and use movpy as the interpreter.

Jul 18 '05 #2
mr******@cox.net wrote:
1. Does anyone know why McMillan Installer 5b5 does not work with
Python 2.4 under Linux (works with Python 2.3 just fine), and how to
fix it?
No, sorry. I know for a fact that it does not work out of the box for Windows
because of the prebuilt executables (run*.exe) which are compiled with VC6 and
must be recompiled with VC7.1. After that, it works for me with Python 2.4.
2. Will anyone be picking up the maintenance and development ball for
McMillan Installer?


I hope someone eventually will. Meanwhile, we got a python24.dll which is 1.8Mb
so that the py2exe guys are happy. Sigh. I hope this wasn't done only for the
sake of py2exe though: it would be just wrong to hurt everybody for the sake of
those installers that can't do a single executable.
--
Giovanni Bajo
Jul 18 '05 #3
I've done further research, and now have McMillan Installer working for
Python 2.4, so I'd like to share what I found.

First, I got the latest Installer, 6a2, from the Vaults of Parnassus.
This version is listed as the 'Windows' version. This means two
things: The .py files are sprinkled with DOS-style line endings
(CR/LF) and file endings (^Z), and the runtime support files for Linux
are not prebuilt.

First, you must strip the DOS stuff out of some of the files. The ones
I did that solved various syntax errors was rthooks.dat and
_mountzlib.py. Why only these files, I don't know.

Second, you must go to the support subdirectory and do 'python Make.py'
followed by 'make'. This builds the proper runtime support stuff.

Once I did this, Installer worked with Python 2.4 like a champ. This
gives me the single-file executable I need (NOTE: I do not mean a
single file that I can use to install my app on the target platform, I
mean that my app is a single, executable file.) And with the use of
the '--upx' option, Installer runs upx on my executable, creating a
compressed, self-executing file.

This takes care of the management roadblock of "Your script is only a
couple K in length, but you turn in into an executable and it takes HOW
MANY meg?!!? Well, Python is obviously too inefficient for our use."

At least, on some platforms. Sadly, no upx on our main delivery
platform, which is AIX. Does anyone know of a better executable-packer
for AIX than gzexe?

Jul 18 '05 #4
mr******@cox.net wrote:

[snip]
First, I got the latest Installer, 6a2, from the Vaults of Parnassus.
This version is listed as the 'Windows' version. This means two
things: The .py files are sprinkled with DOS-style line endings
(CR/LF) and file endings (^Z), and the runtime support files for Linux are not prebuilt.
I have a Linux version of 6a2 at
http://www.the-jedi.co.uk/downloads/installer/

Could you build that using 2.4 and see if it works (I'm in the middle
of moving house, so don't have my Linux box to hand)?

It should work out of the box I guess, as I assume the Linux version
already has the carriage returns fixed. I'm not sure what else is
different, but it seems to be about half the size of the Windows one
(also on my website).

[...] This takes care of the management roadblock of "Your script is only a
couple K in length, but you turn in into an executable and it takes HOW MANY meg?!!? Well, Python is obviously too inefficient for our use."
That's unfortunate. Did they never see a C++ program statically linked
with a few libs that comes to something huge? How big are you typically
looking at?

Maybe you need to explain to them your binary (including interpreter)
is the equivalent of shipping the 20Mb JVM with a Java program, or the
200Mb CLR with a C# program!
At least, on some platforms. Sadly, no upx on our main delivery
platform, which is AIX. Does anyone know of a better executable-packer for AIX than gzexe?


Don't forget the --strip option in Installer, and call it using 'python
-OO', that will take it down a few Kbytes....

Jul 18 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: achrist | last post by:
After using the McMillan installer and executables built with it for a while, I've noticed some residual files accumulating on my disk. The installer docs mentions these. Here's code I wrote...
1
by: Ajay Bakhshi | last post by:
Hi, I have Python-2.2.3/ Mcmillian Installer: _5b5_5 System: HP 11.11 64 bit. Installer + Python were build with 64 bit support (Compiler flag: +DD64) I have a Python file...
1
by: Pierre Rouleau | last post by:
Hi all, When building a exe for a Python application under Windows XP with The McMillan installer, the insttaltion succeeds but when I run the resulting executable the application tracebacks...
2
by: Federico | last post by:
Hi, Where can I download the mcmillan installer utility? http://www.mcmillan-inc.com/ doesn't exist anymore? Thanks
1
by: Sion Arrowsmith | last post by:
We have an application which we distribute as a .exe as created with the McMillan installer, plus a suite of "plugins" which can also be run as standalone applications for internal use. The...
9
by: Christopher Stone | last post by:
I can't seem to find a working web site for this installer. Are there any mirror sites available which have this application? I need an installer for Linux based systems, and I heard this was the...
1
by: Chris | last post by:
I would like to be able to "package-up" a Python application on my development platform (Linux) so that it can be easily distributed and installed on Windows and UNIX e.g. HP-UX, AIX etc. I'd...
10
by: Svein Brekke | last post by:
Hi. Thank you Gordon McMillan for a very nice freeze tool for python. (I use it on Windows XP SP2 for creating a single-file self-extracting wxPython based installation script for a non-python...
5
by: Hartmut Goebel | last post by:
Hi, has anybody used McMillan Installer, PyInstall or py2exe cross-platform? I have a Windows partition with Python installed there, so this would "only" required working on a different...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.