Malte Forkel wrote:
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.
Are you using our prebuilt or egg distribution of eGenix mx Base, or compiling it from source ?
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.
-- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source
Python/Zope Consulting and Support ... http://www.egenix.com/ mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/ mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
::: Try our new mxODBC.Connect Python Database Interface for free ! :::: eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48 D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg Registered at Amtsgericht Duesseldorf: HRB 46611 http://www.egenix.com/company/contact/