[DB-SIG] How can I detect 64 bit versions of Python?
mal at egenix.com
Tue Feb 14 00:02:36 CET 2012
Vernon Cole wrote:
> This is a reworded re-post of a question which I just placed to the
> IronPython list. I repeat it here, because I hope to get a general answer
> which will work on CPython, too, since the database driver I support works
> on both implementations. [Note: this applies to Windows only, *nix users
> can stop reading now. (Lucky dogs.)]
> I am testing adodbapi using my new laptop which I have set up as an
> everything in 64-bit test bed.
> My default test database is an .mdb (so-called ACCESS database) file.
> Microsoft has decided that the JET engine, which has historically been used
> to read and write that format is to be deprecated, so there is no 64 bit
> version of it. It is replaced by the Access Database Engine 2010
> course, the new software requires a different connection string, one
> containing "Provider=Microsoft.ACE.OLEDB.12.0;".
> So, how can I tell which "width" of Python I am running, so I know which
> connection string to use?
The safest bet is to have a look at sys.maxsize. If it's > 2**31,
you have a 64-bit Python version, otherwise a 32-bit one.
sys.maxsize is only available in Python 2.6 and later. If you
support older versions, using the struct module can help: check
the size of a pointer to find out which bit size the Python
interpreter is using.
Professional Python Services directly from the Source (#1, Feb 13 2012)
>>> 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
More information about the DB-SIG