Creating an application for Linux
benjamin.kaplan at case.edu
Wed Dec 31 22:30:31 CET 2008
On Wed, Dec 31, 2008 at 4:06 PM, Mike Driscoll <kyosohma at gmail.com> wrote:
> My boss wants me to port one of my applications to Ubuntu. I
> successfully ported it without too many headaches but now I need a way
> to distribute it to people that may or may not already have the
> dependencies my application requires. I'm a newb with Linux so I'm not
> even sure what they call the distribution (rpms, deb, source code).
Debian packages (debs) are basically a zipped directory with all of the
files, descriptions of where to put them, and a list of dependencies. You
can find more about them here.
> After browsing the various "installer" docs out there, it looks like
> bbfreeze or PyInstaller might work, but I couldn't find any examples.
> Any advice is appreciated. Thanks!
When you create a debian package, you are trying to create a program for one
specific distro. Deb files are installers, closer to MSI files than EXE (I
assume you're coming from Windows). Using the deb files, you can install the
program into /usr/lib or /usr/local/lib, put the program on the system path,
and add it to the applications menu. You don't need to create a binary for
this- you can just run the python files directly. Using debian packages, you
can also add documentation and man pages. Apt will ensure that all of the
dependencies are installed before your program is. Using apt, you can also
uninstall the program easily. I haven't created any packages, so I don't
know how hard it is to generate the package.
bbfreeze and PyInstaller work differently. They create a binary executible
that the user can run. Everything the user needs (Python and all your
libraries) are put into a single file (or into an executable and a bunch of
library files). This is easier to distribute and will work on all versions
of Linux, but it won't be "installed" (to remove it, you have to manually
remove all the files). If you want to use these, you should probably look at
gui2exe (http://code.google.com/p/gui2exe/) rather than trying to figure out
the commands yourself. Andrea Gavana, the program's creator, follows the
wxPython-users list if you need help with it.
> I am using Python 2.5.2 and this is a wxPython application with
> SqlAlchemy and a few other external packages.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-list