473,413 Members | 1,833 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,413 software developers and data experts.

Creating Installer or Executable in Python

I have a small project which has around 10 .py files and I run this
project using command line arguments. I have to distribute this
project to somebody.

I was wondering how can I make an executable or some kind of
installer, so that end user doesn't need to compile and worry if he/
she has Python installed or not ?

Every help is greatly appreciated.

Thanks,

Nov 14 '07 #1
7 3550
A few candidate solutions:

http://nsis.sourceforge.net/Main_Page
http://www.jrsoftware.org/isinfo.php

DanielJohnson wrote:
I have a small project which has around 10 .py files and I run this
project using command line arguments. I have to distribute this
project to somebody.

I was wondering how can I make an executable or some kind of
installer, so that end user doesn't need to compile and worry if he/
she has Python installed or not ?

Every help is greatly appreciated.

Thanks,


--
Shane Geiger
IT Director
National Council on Economic Education
sg*****@ncee.net | 402-438-8958 | http://www.ncee.net

Leading the Campaign for Economic and Financial Literacy
Nov 14 '07 #2
Thanks for telling about py2exe.

Is there any utility that will help to make it as a .deb or .rpm file
(for Linux)?

Nov 14 '07 #3
On 14 Nov, 16:17, DanielJohnson <diffuse...@gmail.comwrote:
Thanks for telling about py2exe.
Also note that you should build an MSI installer e.g. using InnoSetup
after applying py2exe.

You could skip the py2exe part and only use InnoSetup to create an
MSI. Most likely your client will not care if the executable file is
called .py/.pyw/.pyc or .exe. Windows users are generally ignorant to
the contents of the Program Files folder. They will not understand
what is there and certainly not care what is there. Therefore, the
only thing that really matters is to make it easy to install and run
the program.

That is:

1. Create an MSI that makes it easy to install the software (including
runtime and dependencies).

2. Use autorun if you ship a DVD or CD-ROM. The installer should start
automatically when the disc is placed in the player.

3. Make sure an icon on the "Start Menu" launches the program.
If you have done that, 99.9% of all clients will be happy. The latter
0.01% is stupid enough to think it matters if the suffix of the
executable is called .exe or not. Never mind these morons, just ship
an .exe that does nothing except to spawn your Python program and
exit.

Is there any utility that will help to make it as a .deb or .rpm file
(for Linux)?
There is a tool called cx_Freeze which is similar to py2exe, except
that it works on several platforms, including Linux. You will have to
build the .deb or .rpm using other tools afterwards.


Nov 14 '07 #4
I'd second InnoSetup for Windows installers, it's easy and powerful (and
free). However, I don't think it can create actual .MSI files, only
..EXE installers. I wish it would create .MSIs, since those are easier
to automatically deploy for large user groups.

I'm not aware of any free tools for building MSIs, but I'd love to find
one.

- Adam
-----Original Message-----
From: py***************************************@python.o rg
[mailto:py***************************************@p ython.org] On
Behalf
Of sturlamolden
Sent: Wednesday, November 14, 2007 9:54 AM
To: py*********@python.org
Subject: Re: Creating Installer or Executable in Python

On 14 Nov, 16:17, DanielJohnson <diffuse...@gmail.comwrote:
Thanks for telling about py2exe.
Also note that you should build an MSI installer e.g. using InnoSetup
after applying py2exe.

You could skip the py2exe part and only use InnoSetup to create an
MSI. Most likely your client will not care if the executable file is
called .py/.pyw/.pyc or .exe. Windows users are generally ignorant to
the contents of the Program Files folder. They will not understand
what is there and certainly not care what is there. Therefore, the
only thing that really matters is to make it easy to install and run
the program.

That is:

1. Create an MSI that makes it easy to install the software (including
runtime and dependencies).

2. Use autorun if you ship a DVD or CD-ROM. The installer should start
automatically when the disc is placed in the player.

3. Make sure an icon on the "Start Menu" launches the program.
If you have done that, 99.9% of all clients will be happy. The latter
0.01% is stupid enough to think it matters if the suffix of the
executable is called .exe or not. Never mind these morons, just ship
an .exe that does nothing except to spawn your Python program and
exit.

Is there any utility that will help to make it as a .deb or .rpm
file
(for Linux)?
There is a tool called cx_Freeze which is similar to py2exe, except
that it works on several platforms, including Linux. You will have to
build the .deb or .rpm using other tools afterwards.


--
http://mail.python.org/mailman/listinfo/python-list
Nov 14 '07 #5
On Nov 14, 9:17 am, DanielJohnson <diffuse...@gmail.comwrote:
Thanks for telling about py2exe.

Is there any utility that will help to make it as a .deb or .rpm file
(for Linux)?
You'll probably want to take a look at PyInstaller. It can be found
here:

http://pyinstaller.python-hosting.com/

Mike

Nov 14 '07 #6


Adam Pletcher wrote:
I'd second InnoSetup for Windows installers, it's easy and powerful (and
free). However, I don't think it can create actual .MSI files, only
.EXE installers. I wish it would create .MSIs, since those are easier
to automatically deploy for large user groups.

I'm not aware of any free tools for building MSIs, but I'd love to find
one.
I just learned about this one within the last week, wix
http://wix.sourceforge.net/

PHP.net uses it for their Windows installers.

-Shawn
>
- Adam
>-----Original Message-----
From: py***************************************@python.o rg
[mailto:py***************************************@p ython.org] On
Behalf
>Of sturlamolden
Sent: Wednesday, November 14, 2007 9:54 AM
To: py*********@python.org
Subject: Re: Creating Installer or Executable in Python

On 14 Nov, 16:17, DanielJohnson <diffuse...@gmail.comwrote:
>>Thanks for telling about py2exe.
Also note that you should build an MSI installer e.g. using InnoSetup
after applying py2exe.

You could skip the py2exe part and only use InnoSetup to create an
MSI. Most likely your client will not care if the executable file is
called .py/.pyw/.pyc or .exe. Windows users are generally ignorant to
the contents of the Program Files folder. They will not understand
what is there and certainly not care what is there. Therefore, the
only thing that really matters is to make it easy to install and run
the program.

That is:

1. Create an MSI that makes it easy to install the software (including
runtime and dependencies).

2. Use autorun if you ship a DVD or CD-ROM. The installer should start
automatically when the disc is placed in the player.

3. Make sure an icon on the "Start Menu" launches the program.
If you have done that, 99.9% of all clients will be happy. The latter
0.01% is stupid enough to think it matters if the suffix of the
executable is called .exe or not. Never mind these morons, just ship
an .exe that does nothing except to spawn your Python program and
exit.

>>Is there any utility that will help to make it as a .deb or .rpm
file
>>(for Linux)?
There is a tool called cx_Freeze which is similar to py2exe, except
that it works on several platforms, including Linux. You will have to
build the .deb or .rpm using other tools afterwards.


--
http://mail.python.org/mailman/listinfo/python-list
Nov 14 '07 #7
Shane Geiger <sg*****@ncee.netwrote:
DanielJohnson wrote:
I have a small project which has around 10 .py files and I run this
project using command line arguments. I have to distribute this
project to somebody.

I was wondering how can I make an executable or some kind of
installer, so that end user doesn't need to compile and worry if he/
she has Python installed or not ?

A few candidate solutions:

http://nsis.sourceforge.net/Main_Page
http://www.jrsoftware.org/isinfo.php
I've used py2exe and nsis quite a few times - works well.

Note that py2exe can bundle your app into a single exe which you can
just run which may be good enough (no need for an installer).

--
Nick Craig-Wood <ni**@craig-wood.com-- http://www.craig-wood.com/nick
Nov 15 '07 #8

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

Similar topics

1
by: Harald Schneider | last post by:
Hi, I ran in some problems with Gordon's Installer, after upgrading to Python 2.3.2: After starting the executable it brings up a ImportError: No module named wxPython.wx Before upgrading,...
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...
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...
4
by: mrmakent | last post by:
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...
1
by: Jon H | last post by:
I'm trying to create an installer application that can be run from a web page. I know visual basic pretty well, but I haven't work with asp.net very long. Is there a simple way to do this? When...
4
by: John Salerno | last post by:
Well, now that I can time my laundry, I need to make it runnable. I tried looking for info on the freeze module in the help file, but it didn't seem to come up with much. According to the Python...
1
by: Bernard Lebel | last post by:
Hello, I'd like to know how one can create a Windows installer executable. I have this bunch modules, html files, pictures and directories that I'd like to install in various places on a disk...
12
by: chardish | last post by:
Hello, I'm trying to build an executable with py2exe, but unfortunately the version I have is 0.6.6, which has a rather annoying bug that doesn't let you rename the executable file if you bundle...
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?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
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,...
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
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.