[Distutils] Test Windows Installers
Donald Stufft
donald at stufft.io
Fri Oct 4 00:21:20 CEST 2013
On Oct 3, 2013, at 6:20 PM, Steve Dower <Steve.Dower at microsoft.com> wrote:
> Donald Stufft wrote:
>> 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?
>
> Both versions are installed, but `python -m pip` is going to select 1.3.1. (I didn't actually try Scripts\pip.exe, but since that's using pkg_resources I assume it will get the right one.)
>
> I did the initial installs with the package setup.py files which produced a .egg file for setuptools and a .egg folder for pip. I'm not actually sure whether there's anything you could do about this from an installer…
Ahhh, Ok that makes sense. Yea I'm not sure what I can do about that. I'll have to think it over and see if I can come up with anything.
>
>
> Cheers,
> Steve
>
>>>
>>> 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
>>
-----------------
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/d09472cf/attachment.sig>
More information about the Distutils-SIG
mailing list