在Windows上尝试导入pymssql时出现“ImportError: DLL load failed”错误。

3
我正在尝试使用此处的示例代码: http://www.pymssql.org/en/latest/pymssql_examples.html 我使用pip安装了pymssql模块。我还能在site-packages文件夹中看到它。
C:\Python27\Lib\site-packages\pymmsql.pyd

但是,当我执行代码时,出现以下错误:
Traceback (most recent call last):
File "C:\Android\android_workspace\pythonProject\test.py", line 2, in <module>
import pymssql
ImportError: DLL load failed: The specified module could not be found.

我错过了什么?

你是如何安装MySQL的? - Padraic Cunningham
我没有安装mysql,我安装了Python的pymysql模块。 - shira stenmetz
尝试从这里安装 http://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql - Padraic Cunningham
我使用64位解释器,并下载了Python 2.7(我有Windows8 - 确定这很重要吗?) - shira stenmetz
1
你安装了必备条件吗?http://pymssql.org/en/latest/freetds.html#windows - Padraic Cunningham
显示剩余2条评论
3个回答

6
更新,2023年7月
通过Windows安装pymssql
pip install pyodbc

现在安装的版本支持“开箱即用”的加密连接,无需额外步骤。
由于用户社区对2.1.2版本的反馈不佳,pymssql 2.1.3及以后的版本已经恢复到使用pip install pymssql来分发预编译的静态链接到FreeTDS但不支持SSL的wheel文件。
因此,如果您需要SSL支持,仍然不能简单地执行pip install pymssql。对于Windows系统,您需要按照下面的步骤进行操作;对于Linux系统,您需要根据类似于this question中所描述的答案构建pymssql(可能还需要构建FreeTDS)的源代码。

pymssql的2.1.2版本在Windows上引入了一个重大变化,它需要以不同的方式进行设置。之前的版本是与FreeTDS静态链接在一起分发的,所以我们只需要安装pymssql(例如,pip install pymssql),然后它就可以正常工作了,但是不支持SSL连接。

从pymssql 2.1.2版本开始,在Windows上,pymssql与FreeTDS动态链接,并且不包含所需的FreeTDS组件(如果需要还有OpenSSL)。我们仍然可以使用pip install pymssql来安装pymssql本身,但这可能已经不再足够。如果我们在Windows机器上没有一个可用的FreeTDS安装,则必须自己下载这些组件。

下载链接可以在pymssql文档页面上找到:

pymssql - Docs - FreeTDS - Installation - Windows

如果不需要SSL连接,我们只需下载FreeTDS组件,并确保通过搜索Windows的PATH找到"lib-nossl"文件夹的内容。
如果需要SSL连接,我们必须同时下载FreeTDS和OpenSSL组件,并确保通过搜索Windows的PATH找到适当的DLL(对于FreeTDS在"lib"文件夹中,对于OpenSSL在"bin"或"bin64"文件夹中)。
请注意,这些更改会影响pymssql的新安装和升级。据报道,仅将pymssql从2.1.1版本升级到2.1.2版本将导致Windows上的pymssql崩溃,直到下载所需的FreeTDS组件(如果需要还包括OpenSSL)。

3

我曾遇到过这个问题,对我来说最简单的解决方法就是卸载2.1.2版本并安装2.1.1版本:

pip uninstall pymssql

pip install "pymssql==2.1.1"


0

现在我建议从这里https://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql下载您需要的版本,然后通过以下步骤安装。

  1. 下载要放置在磁盘上的版本,可以是Downloads或任何您想要的地方。我下载了pymssql-2.1.4-cp38-cp38-win_amd64.whl,因为我在Windows 10 64位上使用Python 3.8。
  2. 导航到您下载或移动文件的目录...
  3. pip install <pymssql文件名>

我不需要安装任何额外的东西,它可以直接使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接