Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #96618
| From | dieter <dieter@handshake.de> |
|---|---|
| Subject | Re: Packaging and deployment of standalone Python applications? |
| Date | 2015-09-15 07:46 +0200 |
| References | <7360db29-ba81-4b84-99eb-dbeca2a888b8@googlegroups.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.582.1442295983.8327.python-list@python.org> (permalink) |
Kristian Rink <kawazu428@gmail.com> writes: > Folks; > > coming from a server-sided Java background, I'm recently exploring frameworks such as cherrypy or webpy for building RESTful services, which is quite a breeze and a pretty pleasant experience; however one thing so far bugs me: Using Java tooling and libraries such as DropWizard, it is pretty straightforward to build an "all-inclusive" application containing (a) all code of my own, (b) all required dependencies, (c) all other resources and, if required, even (d) a Java virtual machine in one large .zip file which can easily be copied to a clean Linux VM, unzipped and started there. > > Are there ways of doing so using Python, too? I do not think that the Python support in this regard is as sophisticated as in the Java world. Have a look at "distribute/setuptools". It supports (a) and (b) (event though you must write a "setup.py" without the help of an UI) and allows to state the dependencies (part of (c)). It can generate a so called "egg" (a distribution unit) representing one distributable component. On installation, you still need a local Python (with its runtime environment) and the installation process will try to resolve the stated dependencies - potentially requiring internet access. In order to get one executable containing the Python interpreter and all required packages, there is "freeze" (and when I remember right a solution provided by "eGenix"). However, you must manually prepare the application such that "freeze" learns about the "required packages". "freeze" is likely too old that it already would interprete the dependency declarations. You might also have a look at "zc.buildout". Its primary task is to ensure the setup of a consistent development/deployment environment across different environments (hosts). It relies on a local Python installation - but can handle almost everything else. Again - without UI support.
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Packaging and deployment of standalone Python applications? Kristian Rink <kawazu428@gmail.com> - 2015-09-13 23:58 -0700
Re: Packaging and deployment of standalone Python applications? dieter <dieter@handshake.de> - 2015-09-15 07:46 +0200
Re: Packaging and deployment of standalone Python applications? Christian Gollwitzer <auriocus@gmx.de> - 2015-09-15 08:17 +0200
Re: Packaging and deployment of standalone Python applications? marco.nawijn@colosso.nl - 2015-09-15 04:25 -0700
Re: Packaging and deployment of standalone Python applications? Laura Creighton <lac@openend.se> - 2015-09-15 14:04 +0200
Re: Packaging and deployment of standalone Python applications? Kristian Rink <kawazu428@gmail.com> - 2015-09-16 21:29 +0200
Re: Packaging and deployment of standalone Python applications? Christian Gollwitzer <auriocus@gmx.de> - 2015-09-17 09:24 +0200
Re: Packaging and deployment of standalone Python applications? Chris Angelico <rosuav@gmail.com> - 2015-09-17 17:38 +1000
Re: Packaging and deployment of standalone Python applications? Laura Creighton <lac@openend.se> - 2015-09-17 00:19 +0200
Re: Packaging and deployment of standalone Python applications? Kristian Rink <kawazu428@gmail.com> - 2015-09-17 08:23 +0200
Re: Packaging and deployment of standalone Python applications? Laura Creighton <lac@openend.se> - 2015-09-17 11:06 +0200
Re: Packaging and deployment of standalone Python applications? m <mvoicem@gmail.com> - 2015-09-17 12:39 +0200
Re: Packaging and deployment of standalone Python applications? Kristian Rink <kawazu428@gmail.com> - 2015-09-17 12:36 +0200
csiph-web