Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.albasani.net!news2.arglkargh.de!feeder.erje.net!eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed3.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!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.010 X-Spam-Evidence: '*H*': 0.98; '*S*': 0.00; 'subject:Python': 0.06; 'dev': 0.07; 'postgresql': 0.07; 'developer?': 0.09; 'terms,': 0.09; 'windows,': 0.09; 'cc:addr:python-list': 0.11; 'python': 0.11; 'url:download': 0.12; 'windows': 0.15; '"standard': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'installer,': 0.16; 'ought': 0.16; 'url:windows': 0.16; 'appropriate': 0.16; 'wrote:': 0.18; 'pieces': 0.19; 'saying': 0.22; 'cc:addr:python.org': 0.22; 'install': 0.23; 'installation': 0.23; 'dll': 0.24; 'simpler': 0.24; 'software.': 0.24; 'cc:2**0': 0.24; 'least': 0.26; 'header:In-Reply-To:1': 0.27; 'chris': 0.29; '[1]': 0.29; 'especially': 0.30; 'message-id:@mail.gmail.com': 0.30; "i'm": 0.30; 'work.': 0.31; 'easier': 0.31; 'probably': 0.32; 'url:python': 0.33; 'everyone': 0.33; 'running': 0.33; 'subject:the': 0.34; 'problem': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'version': 0.36; 'installing': 0.36; 'leads': 0.36; 'skip:> 10': 0.36; 'url:downloads': 0.36; 'done': 0.36; 'url:org': 0.36; 'application': 0.37; 'turn': 0.37; 'manager': 0.38; 'pm,': 0.38; 'that,': 0.38; 'anything': 0.39; 'either': 0.39; 'how': 0.40; 'course.': 0.60; 'most': 0.60; 'tell': 0.60; 'talking': 0.65; 'latest': 0.67; 'capable': 0.67; 'mar': 0.68; '2015': 0.84; 'bare': 0.84; 'fat': 0.84; 'quicker': 0.84; 'tie': 0.84; 'to:none': 0.92 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:cc :content-type; bh=uSwnkiLLk7UN0PYtJcyqL1Esboljr49dRd/loVLCmiI=; b=iIfqZ2GI70eTqQn0Y9wLvDwPCQWFGwEimb0KPodEh+e+KI1/O2MEINMEBw7Qdi87YB 4Ekh94aBL9OcaTGFidJ+s6LW69nsH0xqbhawlQcJOGshk9e8611akeJI3nxdEtyASLoC qwu0G/oYpECs4St5Eq4fXWZ+nHoQjl7spqpaemNIfeOyz/irtO0ePd20KWDlxWGcu6Kx RVCJnh/Prlb2duLOCVdR9eMACIatCbUhX5zS/5rhPRl5JKaOLFAoJCT2v2p35VXlGD+u QdesqEUVZFWcT2Y8Mfp6zbxxEPp3UdonNovKCokP1tR1wg8NbBI+nNGauOnKqwt58Tzy KdSg== MIME-Version: 1.0 X-Received: by 10.107.160.212 with SMTP id j203mr117296594ioe.43.1426564176832; Mon, 16 Mar 2015 20:49:36 -0700 (PDT) In-Reply-To: <0b5fgadfu37un5mqu8omlu6hgfcnnfggtr@4ax.com> References: <20150316025301.GA94576@cskk.homeip.net> <873855tts4.fsf@jester.gateway.sonic.net> <55068cb0$0$12923$c3e8da3$5496439d@news.astraweb.com> <8761a1gxhq.fsf@jester.gateway.sonic.net> <550710DD.3030405@gmail.com> <0b5fgadfu37un5mqu8omlu6hgfcnnfggtr@4ax.com> Date: Tue, 17 Mar 2015 14:49:36 +1100 Subject: Re: Python 2 to 3 conversion - embrace the pain From: Chris Angelico Cc: "python-list@python.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.19 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: 42 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1426564180 news.xs4all.nl 2976 [2001:888:2000:d::a6]:40625 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:87615 On Tue, Mar 17, 2015 at 2:04 PM, Mario Figueiredo wrote: > On Tue, 17 Mar 2015 09:02:38 +1100, Chris Angelico > wrote: >> >>Imagine you need a >>PostgreSQL database for your Python application - which also means you >>need psycopg2, of course. How do you go about writing installation >>instructions? >> >>* WINDOWS * >>1) Install the latest Python 3 from https://www.python.org/downloads/windows/ >>2) Install the appropriate version of psycopg2 from >>http://www.stickpeople.com/projects/python/win-psycopg/ >>3) Install the latest PostgreSQL from >>http://www.postgresql.org/download/windows/ >>4) Install my program from blah blah blah >> > > Are you saying this is a problem for any developer? Especially > considering this is a one-time operation... I'm talking about how you write your installation instructions. At some point, an end user has to turn a bare system into a system capable of running your application, and that process involves installing your application and everything that it needs. It's not a one-time operation for the dev himself/herself, it's a standard action[1] that has to be done by every user of your software. The simpler you can make those instructions, the easier it is for people to use your program. So on Windows, that probably means you have to bundle everything into a big fat .exe or .msi installer, which is what leads to DLL Hell when everyone bundles their own copies/versions of what ought to be DLLs. Either that, or you tell people to go install the pieces separately... which is what I'm talking about above. At least with a package manager you can tie in with that for most of the work. ChrisA [1] In D&D terms, of course, a "standard action" is a lot quicker than installing anything under Windows. But I digress.