pyodbc模块不适用于Python3

时间:2016-09-14 14:17:27

标签: python pyodbc

我刚刚转换到Mac(来自Win),我找不到使脚本正常工作的正确方法(它在Win上完成)。

我在第一行使用import pyodbc,我得到了#34;没有模块。"错误。

稍后编辑:我将第一行更改为import pypyodbc

如果我在预先存在的python版本(2.7.10)中进入工作区,我可以导入模块,但脚本失败了:

pyodbc.Error: ('00000', '[00000] [iODBC][Driver Manager]dlopen({SQL Server}, 6): image not found (0) (SQLDriverConnect)')

无论如何我想使用python3。

如果我输入python3,尝试导入模块时会出错。

我的主要问题是我不知道如何找到问题所在。任何人都可以帮忙吗?

稍后修改

如果我使用pypyodbc代替pyodbc,那就有效了。它导入模块,唯一需要解决的是解码部分:UnicodeDecodeError: 'utf-32-le' codec can't decode bytes in position 0-1: truncated data

1 个答案:

答案 0 :(得分:0)

模块pyobdc是为Python3分发的。您可以在PyPi page上查看该内容。

你真的为Python3安装了吗?

为计算机上的每个Python实例单独安装Python包。 (事实上​​,您甚至可以使用虚拟环境为一个Python安装创建多个环境,如果您需要运行多个依赖于同一个库的不同版本的应用程序,这将非常有用。)

要在安装了Python2的Mac上使用pip for Python3安装软件包,请参阅this question

编辑:安装问题

您的问题似乎与pyodbc中的this issue有关。

修复程序在主程序中,但未在Pypi上发布。您可以尝试从master分支安装最新版本。

应该是:

pip install git+https://github.com/mkleehammer/pyodbc@master