AttributeError: 'module' object has no attribute 'connect'

AttributeError: 'module' object has no attribute 'connect'

我知道如果我将文件命名为与导入 lib 相同的名称,则可能会出现此类错误,但肯定有一些不同之处,因为即使通过控制台尝试 运行 下面的代码,错误仍然存​​在:

# -*- coding: cp1251
import _mssql

connSQLserver = _mssql.connect(
                        server="localhost",
                        port=1433,
                        user="admin",
                        password="****",
                        database="master")

这是输出:

AttributeError                            Traceback (most recent call last)
<ipython-input-18-8ecbd448023e> in <module>()
      2 import _mssql
      3 
----> 4 connSQLserver = _mssql.connect(
      5                         server="localhost",
      6                         port=1433,

AttributeError: 'module' object has no attribute 'connect'

我正在尝试使用 pymssql-2.1.1-cp27-none-win_amd64.

连接到本地安装的 sql 服务器 2014

我什至尝试了 import pymssql ,没有任何改变。根据 official documentation,这两个库都可能被使用。我使用 python 2.7.1 作为 Anaconda 的一部分安装,windows 7. 连接字符串可能有误。

什么可能导致错误?

upd:

# -*- coding: cp1251
import _mssql 
print _mssql

returns

<module '_mssql' (built-in)>

print _mssql.__file__ returns AttributeError: 'module' object has no attribute '__file__'

我不确定是什么让您产生了导入的想法 _pymssql;开头的下划线应该让您知道这是一个私有实用程序模块。只需导入 pymssql.

尝试_mssql.MSSQLConnection

from

当您以 root 用户身份安装 python 模块时,有时,除了 root 用户之外,其他人对模块文件的访问权限会受到限制。

只需将递归权限授予每个人: 例如 python 2.7 模块,通过 pip2.7 安装

chmod -R a+rx /usr/local/lib/python2.7

您可以通过 strace 启动程序来检查这是一个权限问题...

问题很简单,.connect(...) 必须像这样大写 .Connect(...)