python - 如何安装 pyodbc 64 位?

标签 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 以允许这样做。

谢谢。

最佳答案

有一个“非官方”Python 模块列表 here

PyODBC 是为 64 位编译的那些之一。

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

使用 32 位驱动程序

关于python - 如何安装 pyodbc 64 位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11108862/

相关文章:

.net - 使用 ODBC 和 C++ Net 将空 BLOB 插入 SQLite DB

python - 如何在不使用numpy的情况下从python中的直线方程中提取系数?

python - pygame 错误 : Tuple has no attribute get_size()

Python 命名约定——namedtuples

mysql - 为注册用户和未注册用户提供单独的 MySql 表

mysql - nodejs-mysql中多个占位符的一个值

python - numpy 中多维数组的向量和

PHP 注册脚本不工作

python - Teradata 和 sqlachemy 连接

c# - 如何将限制定义为参数?