Path: csiph.com!usenet.pasdenom.info!dedibox.gegeweb.org!gegeweb.eu!nntpfeed.proxad.net!proxad.net!feeder1-2.proxad.net!news.tele.dk!news.tele.dk!small.news.tele.dk!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.017 X-Spam-Evidence: '*H*': 0.97; '*S*': 0.00; 'subject:Windows': 0.02; 'subject:Python': 0.06; 'socket': 0.07; 'versions,': 0.07; 'assuming': 0.09; 'reports.': 0.09; 'python': 0.11; '11:32': 0.16; 'clone': 0.16; 'collects': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'test).': 0.16; '(you': 0.16; 'wrote:': 0.18; 'solution.': 0.20; 'seems': 0.21; 'machine': 0.22; 'handles': 0.22; 'separate': 0.22; 'tests': 0.22; 'fairly': 0.24; 'mon,': 0.24; 'versions': 0.24; 'script': 0.25; 'header:In-Reply- To:1': 0.27; "we'd": 0.29; 'patch': 0.29; 'message- id:@mail.gmail.com': 0.30; 'code': 0.31; 'that.': 0.31; '25,': 0.31; 'feeds': 0.31; 'releases,': 0.31; 'subject:skip:i 10': 0.31; 'with,': 0.31; 'run': 0.32; 'another': 0.32; 'says': 0.33; 'maybe': 0.34; 'could': 0.34; 'advice': 0.35; 'connection': 0.35; 'possible.': 0.35; 'something': 0.35; 'test': 0.35; 'received:google.com': 0.35; 'really': 0.36; 'doing': 0.36; 'possible': 0.36; 'virtual': 0.37; 'problems': 0.38; 'nov': 0.38; 'to:addr:python-list': 0.38; 'pm,': 0.38; 'little': 0.38; 'itself': 0.39; 'to:addr:python.org': 0.39; 'most': 0.60; "you're": 0.61; 'such': 0.63; 'our': 0.64; 'different': 0.65; 'series': 0.66; 'here': 0.66; 'jobs': 0.68; 'registers': 0.68; 'physical': 0.72; 'unusual': 0.74; 'establishes': 0.84; 'together,': 0.84; 'hands': 0.96; '2013': 0.98 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:content-transfer-encoding; bh=WV0GX3afX+xZxyatSWSEQM5HUPvHQVi48lM0pRQ25Lw=; b=DZ5Z7DVxZi++rDqZW752LVAwQ9l5kS8b1c0FnmaXF5oDG+gZg4/H/tBktS2fEY5p+b Tuhlf9OzKbTi8hQErIke0Kyo84WTND+rildwLaCkp9uny5SiEDG9JpQe7/MUsLjdqbtK Bn3sIFaORZqKAbDZKyKFzdrcxH47HE8PTY/wVFw/96yHYH878zBdMPV8xSfdrpzaoeMm jG+waee63QT/thP4Ta29pytz46CCVjZOZktL0+WbTQ250E5xYdZe6f/7byb+Q59Ev8F7 qQYJgMgIxFPwQR35YS9hW6z1/GiZRVrOOv0mB7Ydixio5RFADpbMRYAFIbr8FQ695TM1 G8MA== MIME-Version: 1.0 X-Received: by 10.66.164.136 with SMTP id yq8mr26942359pab.67.1385384695667; Mon, 25 Nov 2013 05:04:55 -0800 (PST) In-Reply-To: References: Date: Tue, 26 Nov 2013 00:04:55 +1100 Subject: Re: Parallel Python x.y.A and x.y.B installations on a single Windows machine From: Chris Angelico To: python-list@python.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 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: 33 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1385384699 news.xs4all.nl 15960 [2001:888:2000:d::a6]:39424 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:60413 On Mon, Nov 25, 2013 at 11:32 PM, Jurko Gospodneti=C4=87 wrote: > Most of the advice seems to boil down to 'do not use such versions togeth= er, > use only the latest'. > > We would like to run automated tests on one of our projects (packaged a= s a > Python library) with different Python versions, and since our code contai= ns > workarounds for several problems with specific Python patch versions, we'= d > really like to be able to run the tests with those specific versions and > with as little fuss as possible. What this says to me is that you're doing something very unusual here - most people won't be doing that. So maybe you need an unusual solution. Is it possible to set up virtualization to help you out? Create a virtual machine in something like VirtualBox, then clone it for every Python patch you want to support (you could have one VM that handles all the .0 releases and another that handles all the .1 releases, or you could have a separate VM for every Python you want to test). You could then have a centralized master that each VM registers itself with, and it feeds out jobs to them. Assuming your tests can be fully automated, this could work out fairly efficiently - each VM has a script that establishes a socket connection to the master, the master hands out a job, the VMs run the test suite, the master collects up a series of Pass/Fail reports. You could run everything on a single physical computer, even. ChrisA