473,765 Members | 2,015 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

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 2105
mrmak...@cox.ne t 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.ne t 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.ne t 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
1504
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 to clean these up: --------------------Program Fillows---------------------- import fnmatch import os
1
1541
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 Recover.py that calls "C" functions written in an extension module. Now these "C" functions (in the shared library) load
1
2640
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 complaining about a codec not being registered: Traceback (most recent call last): File "<string>", line 222, in ? File "ivcm\buildivcm\out1.pyz/gettext", line 428, in install
2
2907
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
1463
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 plugins work by freezing the standalone application and taking the out1.pyz, suitably renamed, and adding the new file name to sys.path at run time. We can then __import__ the module (or, specifically, the plugin interface from it). Which works fine,...
9
1982
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 best. Thanks in advance! -Chris
1
1986
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 rather not use Python's disutils. I've looked at cx_Freeze but this requires a "base executable" to be available for each target platform i.e. I'd need to compile this base executable on the target platforms but I don't have access to them all. I've...
10
5441
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 application.) Recently I upgraded to python 2.4, and on my system any .exe file generated by the installer crashes immediately after startup. I use version 6a2 of the installer.
5
2406
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 directory and for a different OS. Since I'm working on Linux, it's awful to boot Windows each time I want to build a new release. Any hint in this area?
0
9568
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9832
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 protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
7378
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 presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6649
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5275
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5421
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3924
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3531
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2805
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.