[Distutils] Binary installer on Windows can't install extension

Malte Forkel malte.forkel at berlin.de
Fri Jun 14 17:46:22 CEST 2013


Am 14.06.2013 00:05, schrieb Steve Dower:
> You will need a 64-bit version of mxDateTime.pyd when used with 64-bit Python.
> The DLL load fails because a 64-bit process can only load 64-bit DLLs.
> 
> If you can't get a 64-bit version, it should not be a problem to install and use
> a 32-bit version of Python on 64-bit Windows (and I generally
> recommend it - > the only thing you gain with 64-bit Python is a
higher memory limit).
> 

I'm afraid its not that easy. Everything I installed is 64-bit, both
Python itself and the eGenix mx Base Distribution which includes
mx.DateTime.

According to Dependency Walker, MSVCR90.DLL is the only 32-bit DLL
referenced by mxDateTime.pyd. All others DLLs (inluding the version of
MSVCR90.DLL referenced by PYTHON27.DLL) are 64-bit.

When imported from a regular Python process, mxDateTime loads fine. The
problem only occurred when mxDateTime was imported in the context of the
installer's (post)install script.

Note the past tense, though. When I ran my tests today, there was no
error anymore. I guess if I knew what change has caused that, I knew
what caused the initial problem. I started my tests with Python 2.7.3
and mx 2.3.1, then upgraded to 2.7.5 and 2.3.6 respectively. The problem
still occurred. Since, I have rebooted the computer and installed
another Python package of my own. The paths (user, system) have not changed.



More information about the Distutils-SIG mailing list