Path: csiph.com!usenet.pasdenom.info!news.redatomik.org!newsfeed.xs4all.nl!newsfeed4a.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.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'patterns': 0.04; 'shipped': 0.05; 'svn': 0.05; 'subject:Python': 0.06; 'context': 0.07; 'dev': 0.07; 'installed.': 0.07; 'postgresql': 0.07; 'versions.': 0.07; 'badly': 0.09; 'components,': 0.09; 'cvs': 0.09; 'developer?': 0.09; 'iterate': 0.09; 'linear': 0.09; 'mercurial': 0.09; 'python': 0.11; 'url:download': 0.12; 'windows': 0.15; '>1)': 0.16; '>2)': 0.16; '>3)': 0.16; '>4)': 0.16; '>on': 0.16; '>the': 0.16; 'buggy': 0.16; 'bugs.': 0.16; 'finney': 0.16; 'foot': 0.16; 'from:addr:cs': 0.16; 'from:addr:zip.com.au': 0.16; 'from:name:cameron simpson': 0.16; 'ideally,': 0.16; 'loops': 0.16; 'message-id:@cskk.homeip.net': 0.16; 'nightmare.': 0.16; 'optional': 0.16; 'redo': 0.16; 'simpson': 0.16; 'tool.': 0.16; 'tripped': 0.16; 'url:windows': 0.16; 'vcs,': 0.16; 'appropriate': 0.16; 'wrote:': 0.18; 'code.': 0.18; 'library': 0.18; 'looked': 0.18; 'users.': 0.18; 'trying': 0.19; 'things.': 0.19; '>>>': 0.22; 'saying': 0.22; 'install': 0.23; 'installation': 0.23; 'header:User-Agent:1': 0.23; 'certainly': 0.24; 'config': 0.24; 'cheers,': 0.24; '(or': 0.24; 'environment': 0.24; 'developers': 0.25; 'options': 0.25; 'script': 0.25; 'compare': 0.26; 'distribute': 0.26; 'somewhere': 0.26; 'header:In-Reply-To:1': 0.27; 'installed': 0.27; 'chris': 0.29; 'newer': 0.30; 'especially': 0.30; "i'm": 0.30; 'developers.': 0.31; 'easy,': 0.31; 'perl': 0.31; 'procedures.': 0.31; 'writes:': 0.31; 'file': 0.32; 'stuff': 0.32; 'worked': 0.33; 'url:python': 0.33; 'ago': 0.33; 'guess': 0.33; 'subject:the': 0.34; 'problem': 0.35; "can't": 0.35; 'but': 0.35; 'add': 0.35; 'there': 0.35; 'version': 0.36; 'really': 0.36; 'url:downloads': 0.36; 'charset:us-ascii': 0.36; 'possible': 0.36; 'url:org': 0.36; 'application': 0.37; 'two': 0.37; 'list': 0.37; 'ben': 0.38; 'requiring': 0.38; 'to:addr:python-list': 0.38; 'itself': 0.39; 'use.': 0.39; 'sure': 0.39; 'to:addr:python.org': 0.39; 'users': 0.40; 'how': 0.40; 'even': 0.60; 'chain': 0.60; 'course.': 0.60; 'simple': 0.61; 'content-disposition:inline': 0.62; 'more': 0.64; 'needing': 0.65; 'worth': 0.66; 'latest': 0.67; 'capable': 0.67; 'mar': 0.68; 'bothered': 0.68; 'default': 0.69; 'special': 0.74; 'music': 0.75; '2015': 0.84; 'complex,': 0.84; 'received:192.168.15': 0.84; 'step,': 0.84; 'avoided.': 0.91; 'recurring': 0.91 Date: Wed, 18 Mar 2015 08:53:02 +1100 From: Cameron Simpson To: python-list@python.org Subject: Re: Python 2 to 3 conversion - embrace the pain MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: <4abfgates144128vvtpvm60s24rbe29nfr@4ax.com> User-Agent: Mutt/1.5.23 (2014-03-12) References: <4abfgates144128vvtpvm60s24rbe29nfr@4ax.com> 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: 88 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1426629193 news.xs4all.nl 2969 [2001:888:2000:d::a6]:33209 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:87650 On 17Mar2015 05:30, Mario Figueiredo wrote: >On Tue, 17 Mar 2015 14:42:42 +1100, Ben Finney > wrote: >>Mario Figueiredo writes: >>> 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/w= indows/ >>> >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? >> >>Yes. They need to write installation instructions, and the more complex >>those instructions are the fewer prospective users will bother. > >The prospective users in this context are software developers. If >software developers can't understand instructions and can't be >bothered following linear procedures, they cannot write good code. "Linear procedures" often only look that way because the list is shortened,= =20 yea, even unto just headings. There can be multiple ways to do each step, especially if one is juggling (= or=20 considering juggling) multiple versions. If one has to iterate then each of= =20 these steps can have internal loops and the whole process can require=20 backtracking to redo things. Possible issues include around buggy releases = of=20 components, unfortunate decisions about the install regime, issues with the= =20 local dev environment (eg compile steps requiring unmentioned or special=20 packages in the platform which may not be installed from the supplier), bui= ld=20 options on/off, build tools requiring special (and ideally, badly or un-=20 documented) config options (I am looking at you, RHEL lib64 stuff with=20 autoconf). I distribute an adzapping tool. It has two install modes, the default simpl= e=20 one and the optional more configurable one. The simple one reads: - make sure you have squid installed - install the script (a single perl script) somewhere on your system - add a single line to your squid config One recurring request from some users is separation of the zapping patterns= =20 =66rom the script; as shipped it is a single file with the patterns embedde= d. I=20 have resisted this _because_ it would make installs _much_ harder for users. Alternative anecdote: long ago when escaping from CVS to a newer VCS, I loo= ked=20 at SVN. It was popular, etc. But the install/build chain was insane. Many= =20 prerequisite libraries, none available from the OS supplier, all needing=20 special build/installs, and there were certainly buggy prerequisite library= =20 releases to be tripped over and avoided. A nightmare. Not worth the bother. And I bothered for a long time trying to get it=20 installed. Compare Mercurial. Really easy, worked immediately, etc. Guess which I use. IMO Mercurial is better anyway, but SVN shot itself in the foot with the=20 install requirements. I'm capable of following linear procedures. But I'm also capable of decidin= g=20 that procedures are unreasonably complex, especially when they have bugs. Cheers, Cameron Simpson Wagner's music is better than it sounds. - Mark Twain