如何安装pyodbc 64位?

时间:2012-06-19 20:26:57

标签: python mysql odbc pyodbc

我的计算机上安装了Python 2.7,MySQL 5.5,MySQL ODBC Connector 5.1和pyodbc,它运行的是Windows 7,64位......

唯一的问题是除了pyodbc(32位)之外,所有内容都安装为64位。

使用easy_install下载pyodbc时,会自动下载32位版本。 因此,当我尝试使用:

连接到我的数据库时
cnxn = pyodbc.connect('DRIVER={MySQL ODBC 5.1 DRIVER};SERVER=localhost;DATABASE=test;UID=root;PWD=password')

我收到错误:

Data source name not found and no default driver specified (0) (SQLDriverConnect)

当我尝试使用以下命令指定DSN时

cnxn = pyodbc.connect('DSN=dsn_name;etc...')

我收到错误:

The specified DSN contains an architecture mismatch between the Driver and Application (0) (SQLDriverConnect)

此链接告诉我这是由于32/64位不匹配,正如预期的那样: http://msdn.microsoft.com/en-us/library/windows/desktop/ms712362(v=vs.85).aspx

所以我有两个问题:

1)是否可以强制easy_install下载64位pyodbc,还是可以手动下载64位pyodbc?

2)如果无法实现上述目的,是否可以使用Microsoft ODBC数据源管理器窗口配置DSN以允许此操作。

感谢。

2 个答案:

答案 0 :(得分:4)

有一个"非官方"的列表Python模块here

PyODBC是为64位编译的其中之一。

此外,请确保您使用的是正确版本的ODBC管理器。默认设置为64位驱动程序,但您可以使用带%windir%\SysWOW64\odbcad32.exe

的32位驱动程序

答案 1 :(得分:0)

我花了很多时间来找出为什么 pyodbc 无法看到64位ODBC驱动程序的原因 因为我对Windows的位数感到困惑。所以我要明确指出

Python 32位+ pyodbc 32位(从pip安装时默认)将从%windir%\SysWOW64\odbcad32.exe读取驱动程序

Python 64位+ pyodbc 64位(您必须从here下载)将从%windir%\System32\odbcad32.exe读取驱动程序