2012-06-19 160 views
4

我有Python 2.7,MySQL 5.5,MySQL ODBC连接器5.1和pyodbc所有安装在我的电脑上,这是运行Windows 7,64位...如何安装pyodbc 64位?

唯一的问题是,一切都安装为64位除了pyodbc,这是32位。

当使用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) 

这个链接告诉我,这是由于六十四分之三十二位不匹配,符合市场预期: http://msdn.microsoft.com/en-us/library/windows/desktop/ms712362(v=vs.85).aspx

所以我有两个问题:

1)是否有可能迫使easy_install的下载64 bit pyodbc,还是有可能手动下载64位pyodbc?

2)如果上述不可行,是否可以使用Microsoft ODBC Data Source Administrator窗口配置DSN以允许此操作。

谢谢。

回答

3

还有就是“非官方” Python模块here

PyODBC是那些已经被编译为64位的一个列表。

此外,请确保您使用的是正确版本的ODBC管理员。默认情况下将为64位驱动程序,但您可以使用32位驱动程序与%windir%\SysWOW64\odbcad32.exe

+1

我试过安装程序,但我不断收到错误消息“Python版本2.7所需,这是在注册表中找不到”即使我在我的注册表中找到了Python 2.7。有没有办法指定安装程序应该检查注册表中的哪个位置? – aensm

+1

您的python安装32位? – swasheck

+0

不,我的python安装是64位的。 – aensm