Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!eternal-september.org!feeder.eternal-september.org!cs.uu.nl!news.stack.nl!newsfeed.xs4all.nl!newsfeed1.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.005 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'python.': 0.02; 'python,': 0.02; 'subject:Python': 0.06; 'binary': 0.07; 'users,': 0.07; 'assuming': 0.09; 'expected.': 0.09; 'things,': 0.09; 'python': 0.11; 'jan': 0.12; 'windows': 0.15; 'at.': 0.16; 'fetch': 0.16; 'picks': 0.16; 'plop': 0.16; 'prominently': 0.16; 'shame.': 0.16; 'subject:distribution': 0.16; 'subject:program': 0.16; 'sudo': 0.16; 'winner.': 0.16; 'language': 0.16; 'wrote:': 0.18; 'library': 0.18; 'trying': 0.19; '8bit%:5': 0.22; 'command': 0.22; 'code,': 0.22; 'platforms': 0.22; 'email addr:gmail.com>': 0.22; 'install': 0.23; 'documented': 0.24; "i've": 0.25; '>': 0.26; 'nearly': 0.26; 'header:In-Reply-To:1': 0.27; 'idea': 0.28; 'point': 0.28; 'chris': 0.29; 'am,': 0.29; "doesn't": 0.30; 'message-id:@mail.gmail.com': 0.30; 'work.': 0.31; 'cool,': 0.31; 'file': 0.32; 'there.': 0.32; 'run': 0.32; 'linux': 0.33; 'running': 0.33; 'monday,': 0.33; 'trouble': 0.34; 'could': 0.34; 'problem': 0.35; 'something': 0.35; 'good.': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'really': 0.36; 'possible': 0.36; 'should': 0.36; 'january': 0.37; 'application': 0.37; 'so,': 0.37; 'architecture': 0.38; 'system,': 0.38; 'mine': 0.38; 'to:addr :python-list': 0.38; 'skip:& 20': 0.39; 'received:74.125': 0.39; 'extremely': 0.39; 'to:addr:python.org': 0.39; 'even': 0.60; 'easy': 0.60; 'solve': 0.60; 'managers': 0.61; 'new': 0.61; 'providing': 0.61; 'real': 0.63; 'places': 0.64; 'zip': 0.64; 'different': 0.65; 'hand': 0.80; 'low': 0.83; '2014,': 0.84; 'apt- get': 0.84; 'blob': 0.84; 'cole': 0.84; 'end-user': 0.84; 'end.': 0.84; 'freebsd': 0.84; 'subject:source': 0.84; 'magical': 0.91 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=ZrC1unleskpgdALwncs2wjnDb3H3heZmVshk7Hy/kzo=; b=mV0rLi5CV1DmqEttgq/FW85gaEapMIhrZsXn+RUrb84TmvLPEPJ4j5WAdPR5kaQy0S ruAVYDf8pwBJnIVKEVkrkYB+KUFMME1Slmu2PCOcKzuJRUaLy2fcOlnPz3aLDj0WQk/r 6yfOt78u9p3VCYIyIrYTlpxBi608j4xgirCqynIWvaZQ8L+rE2Lb9G33o3RWdjJsLojc mbIELxoJsSC9nlbSBSDC2sEixDAPPUZ3Hyua4qzJYaMgpBvcByAgIKAghPl23Q9w1rWn HYSYKMz7Ymrb9fKq6iTu8pttvFzNgjyS+qmKQPgM3eswja9dQt4kXDfnn59+93AD2iqu amNA== MIME-Version: 1.0 X-Received: by 10.15.82.8 with SMTP id z8mr91471209eey.25.1389053392928; Mon, 06 Jan 2014 16:09:52 -0800 (PST) In-Reply-To: References: Date: Tue, 7 Jan 2014 00:09:52 +0000 Subject: Re: Python program distribution - a source of constant friction From: Nicholas Cole To: Python Content-Type: multipart/alternative; boundary=089e01681b380f465004ef5632e7 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 89 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1389053429 news.xs4all.nl 2929 [2001:888:2000:d::a6]:54851 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:63380 --089e01681b380f465004ef5632e7 Content-Type: text/plain; charset=ISO-8859-1 On Monday, 6 January 2014, Chris Angelico wrote: > On Tue, Jan 7, 2014 at 10:39 AM, Nicholas Cole > > wrote: > > But what about the end-user? The end-user who just wants a blob (he > doesn't > > care about what language it is in - he just wants to solve the problem at > > hand with your shiny, cool, problem-solving application). > > This is where OS-provided package managers really shine. It should be > possible to type: > > $ sudo apt-get install shiny-cool-problem-solver > > and have it go and fetch Python, the magical library you need > (matching to the binary architecture of the target platform), and your > code, plop them all into the right places in the file system, and give > you a new command "shinycool" that just happens to shebang into > Python. Well and good. Trouble is... Windows isn't up there. And > trying to maintain packages for lots of different platforms is a lot > of work. > Even providing packages for (unfamiliar?) Linux distributions is a lot of work - unless a distribution picks up responsibility for an application. For sending applications to end users, something they can just copy straight into a bin/ directory is a real winner. The python zip file format is really good for many things, and from the end-user point of view extremely low friction. Even so, things like that are harder to create than they could be, or less prominently documented than one might have expected. Case in point: I have an application a friend/colleague of mine would like to look at. I've no idea if he is running Debian or Redhat or FreeBSD or a Mac. Assuming I've not used any C extensions, it is *possible* to create something that will run on all of the above without any fuss at his end. It just isn't nearly as easy as it could be, which must be a shame. Nicholas. --089e01681b380f465004ef5632e7 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

On Monday, 6 January 2014, Chris Angelico wrote:
On Tue, Jan 7, 2014 at 10:39 AM, Nicholas Cole <nicholas.cole@gmail.com> wrote:
> But what about the end-user? =A0The end-user who just wants a blob (he= doesn't
> care about what language it is in - he just wants to solve the problem= at
> hand with your shiny, cool, problem-solving application).

This is where OS-provided package managers really shine. It should be
possible to type:

$ sudo apt-get install shiny-cool-problem-solver

and have it go and fetch Python, the magical library you need
(matching to the binary architecture of the target platform), and your
code, plop them all into the right places in the file system, and give
you a new command "shinycool" that just happens to shebang into Python. Well and good. Trouble is... Windows isn't up there. And
trying to maintain packages for lots of different platforms is a lot
of work.

Even providing packages for (unfamiliar?)= =A0Linux distributions is a lot of work - unless a distribution picks up re= sponsibility for an application. =A0For sending applications to end users, = something they can just copy straight into a bin/ directory is a real winne= r. =A0The python=A0zip file format is really good for many things, and from= the end-user point of view extremely low friction. =A0Even so, things like= that are harder to create than they could be, or less prominently document= ed than one might have expected.

Case in point: I have an application a friend/colleague= of mine would like to look at. =A0I've no idea if he is running Debian= or Redhat=A0or FreeBSD or a Mac. =A0Assuming I've not used any C exten= sions, it is *possible* to create something that will run on all of the abo= ve=A0without any fuss at his end. =A0It just isn't nearly as easy as it= could be, which must be a shame.

Nicholas.=A0=A0
--089e01681b380f465004ef5632e7--