在Windows上安装pymssql时出现问题

时间:2016-05-22 02:34:43

标签: python windows openssl freetds pymssql

我无法在Windows上找到对pymssql安装支持的大力支持。我正在尝试通过另一个员工的python包装器连接到企业数据库。这个包装器需要我安装pymssql。 RTFM上的numpy.dstack()没有关于FreeTDS和OpenSSL安装过程的非常明确的说明。

安装步骤

所有下载的文件(FreeTDS和OpenSSL)都来自上面提到的RTFM链接。提到将两个下载添加到C:\ Program Files文件夹并将二进制文件添加到系统PATH中,所以我这样做了:

freetds的

  1. 下载的FreeTDS>>创建了目录C:\ Program Files(x86)\ FreeTDS>>将FreeTDS下载内容复制/粘贴到C:\ Program Files(x86)\ FreeTDS目录>>将C:\ Program Files(x86)\ FreeTDS添加到我的系统的PATH
  2. FreeTDS下载内容:

    \bin
        \bsqldb.exe
        \bsqldb.exe.manifest
        \bsqlodbc.exe
        ...
        \tsql.exe
    \include
        \bkpublic.h
        \cspublic.h
        \cstypes.h
        ...
        \tds_sysdep_public.h
    \lib
        \static
            \db-lib.lib
            \iconv.lib
            \libct.lib
            \replacements.lib
            \tds.lib
        \ct.dll
        \ct.dll.manifest
        ...
        \tsodbc.lib
    \lib-nossl
    (same as \lib)
    

    OpenSSL的

    1. 下载的OpenSSL>>创建了目录C:\ Program Files(x86)\ OpenSSL>>将OpenSSL下载内容复制/粘贴到C:\ Program Files(x86)\ OpenSSL目录>>将C:\ Program Files(x86)\ OpenSSL添加到我的系统的PATH
    2. OpenSSL下载内容:

      \HashInfo.txt
      \libeay32.dll
      \OpenSSL License.txt
      \openssl.exe
      \ReadMe.txt
      \ssleay32.dll
      

      PYMSSQL

      1. 通过pip安装pymssql:python -m pip install pymssql>>然后检查安装状态:
      2. 打开Python环境

        • 运行:import pymssql
        • 获取:ImportError: DLL load failed: The specified module could not be found.
        超级令人沮丧。非常感谢这里的任何帮助!

        (不幸的是,我认识的大多数人都是从Linux运行pymssql而他们没有这个问题)

2 个答案:

答案 0 :(得分:2)

如您所引用的pymssql文档(简要说明)以及我的相关答案here中所述,您的Windows PATH需要包含 DLL文件所在的文件夹< / strong>驻留,而不是FreeTDS的基础文件夹(如果需要,还有OpenSSL)。

因此,在运行32位Windows的测试计算机上,PATH需要包含FreeTDS的“lib-nossl”文件夹...

C:\Users\Gord\Downloads\freetds-v0.95.83-win-x86-vs2015\lib-nossl

...为了让我使用pymssql 2.1.2与Python 3.5.1建立与我的SQL Server的非加密连接。

答案 1 :(得分:0)

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

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

我不必安装任何额外的东西,开箱即用。