[Distutils] Test Windows Installers

Donald Stufft donald at stufft.io
Fri Oct 4 00:10:55 CEST 2013


On Oct 3, 2013, at 5:59 PM, Steve Dower <Steve.Dower at microsoft.com> wrote:

> I've done basic testing (install, pip install, pip list, pip uninstall, repair, uninstall) against:
> 
> WinXP SP3 x86
> Vista SP2 x86/x64
> Win7 SP1 x86/x64
> Win8 RTM x86/x64
> Win8.1 RTM x86/x64
> 
> With Python 2.7.5, 3.2.3 and 3.3.2, x86 and x64 for each. (It helps to have a bit of practice with large test matrices, convenient access to clean VMs for lots of operating systems, and a couple of internal automation tools :) )
> 
> One issue I noticed is that if you've previously installed pip from source and it's in easy-install.pth, the version from the MSI won't be used when it is installed. The same applies to setuptools. (I used setuptools 0.9.8 and pip 1.3.1 for testing this.)

What do you mean for this? That if you already have pip 1.3.1 installed and you install from the MSI when it's over the installed version is still 1.3.1?

> 
> In general there don't seem to be any other problems with it. I've noted some possible issues below, but since I don't know how much control you have over these, please don't take it personally if I'm pointing out things that cannot be changed.
> 
> - the default value for specifying a manual path ("D:\PythonX") should probably be "C:\PythonXY" where XY is the version the installer is targeting.

Hmm, I'll see what I can do about this, I'm reusing routines from distutils to handle this but I may have some level of control over that.

> 
> - 64-bit versions of Python installed for all users are not detected. Are you planning a 64-bit version of this installer? (Specifying the path manually worked fine.)

Yea that was pointed out to me, I'll probably make 64bit installers since I don't think a 32bit installer can detect the 64bit versions.

> 
> - the RemoveFile table is incorrect for Python 3.x - there are no references to __pycache__ folders, only to .pyc and .pyo files in the same folder as their .py counterpart. As a result, uninstall is not clean for Python 3.2 and 3.3. In particular, Python 3.3 will show this (instead of "No module named pip"):

This is going to be an issue with distutils again, I'll see if I can control it but it'd probably be a good idea to get this fixed in distutils too.

> 
> C:\ >C:\Python33\python.exe -m pip
> Traceback (most recent call last):
>  File "C:\Python33\lib\runpy.py", line 140, in _run_module_as_main
>    mod_name, loader, code, fname = _get_module_details(mod_name)
>  File "C:\Python33\lib\runpy.py", line 105, in _get_module_details
>    if loader.is_package(mod_name):
> AttributeError: 'NamespaceLoader' object has no attribute 'is_package'
> 
> - choosing between 'All Users' and 'Just For Me' in the pip installer didn't seem to affect the install location.

AFAIK distutils added that, no idea what it does or means. I'll see if I can remove it.

> 
> - uninstalling Python before pip worked fine. (No problem here, just letting you know that I tried it :) )
> - selecting both install options (Python from registry/custom path) and specifying the same path worked fine
> 
> Caveats:
> - all machines were clean OS installs + Python from python.org. I didn't try installing Python from other sources
> - I only tested upgrading pip with the installer on Windows 8, but I'm confident it will behave the same on all other platforms
> 
> All up, it looks great, and it's going to make things much easier for Windows users. Thanks for doing this.
> 
> Cheers,
> Steve
> 
> -----Original Message-----
> From: Distutils-SIG [mailto:distutils-sig-bounces+steve.dower=microsoft.com at python.org] On Behalf Of Donald Stufft
> Sent: Thursday, 3 October 2013 0712
> To: DistUtils mailing list
> Subject: [Distutils] Test Windows Installers
> 
> Anyone who has a windows machine mind testing some installers for me?
> 
> These should install pip and setuptools:
> 
> https://dl.dropboxusercontent.com/u/45265381/MSI/pip/1.4/pip-1.4-py27.msi
> 
> https://dl.dropboxusercontent.com/u/45265381/MSI/pip/1.4/pip-1.4-py32.msi
> 
> https://dl.dropboxusercontent.com/u/45265381/MSI/pip/1.4/pip-1.4-py33.msi
> 
> Let me know?
> 
> -----------------
> Donald Stufft
> PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
> 


-----------------
Donald Stufft
PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20131003/8ba1028d/attachment-0001.sig>


More information about the Distutils-SIG mailing list