bzr python-based installer requires 32-bit python on windows; unclear message
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
Medium
|
Unassigned | ||
Bazaar Windows Installers |
Confirmed
|
Medium
|
Unassigned |
Bug Description
I have 64-bit python 2.5.2 installed correctly.
The installer claims:
-------
Cannot install
-------
Python version 2.5 required, which was not found in the registry.
-------
OK
-------
This is because it is foolish. Wonderful Windows has detected that it is a foolish 32-bit app, and has pointed it at the nice, safe, 32-bit only area of the registry via. the almight WoW64 emulation layer. This nice, safe 32-bit area of the registry lacks python, as there are no nice, safe pythons installed, only powerful 64-bit pythons.
If you forgive it this folly by allowing it out of the nice, safe box in which it's been placed, and you run it with far too many permissions for such a naïve little application, the post install script quoth:
*** Could not load Python ***
And finally, but possibly less relevantly:
C:\Users\
bzr: ERROR: exceptions.
Traceback (most recent call last):
File "C:\python25\
return run_bzr(argv)
File "C:\python25\
cmd_
File "C:\python25\
return self.run(
File "C:\python25\
result = func(*args, **kwargs)
File "C:\python25\
from bzrlib.version import show_version
File "C:\python25\
from bzrlib import (
File "C:\python25\
class BzrDirMetaForma
File "C:\python25\
_lock_class = lockdir.LockDir
File "C:\python25\
obj = _replace()
File "C:\python25\
obj = factory(self, scope, name)
File "C:\python25\
module = __import_
File "C:\python25\
from bzrlib import (
File "C:\python25\
"We must have one of fcntl, pywin32, or ctypes available"
NotImplementedE
bzr 1.12rc1 on python 2.5.2 (win32)
arguments: ['C:\\python25\
encoding: 'cp1252', fsenc: 'mbcs', lang: None
plugins:
*** Bazaar has encountered an internal error.
Please report a bug at https:/
including this traceback, and a description of what you
were doing when the error occurred.
--
Windows Vista SP1 x64 Ultimate.
Python 2.5.2 x64.
tags: | added: mysql packaging win32 |
tags: | added: check-for-breezy |
tags: | removed: check-for-breezy |
The installer *is* correct, just its message isn't that helpful - you simply can't mix and match 32 and 64bit binaries. I'm not sure about ctypes, but there will never be a pywin32 64bit Python 2.5 build - only 2.6 and later. It is possible that Python 2.5.4 has ctypes enabled though - that might be worth checking. Alternatively, just install the 32bit version of Python 2.5 - it works just fine on a 64bit OS.