繁体   English   中英

在 Windows 上安装 pymssql 时遇到问题

[英]Trouble installing pymssql on Windows

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

安装步骤

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

免费TDS

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

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)

开放式SSL

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

OpenSSL 下载内容:

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

PYMSSQL

  1. 通过 pip 安装 pymssql: python -m pip install pymssql >> 然后检查安装状态:

开放 Python 环境

  • 运行: import pymssql
  • 获取: ImportError: DLL load failed: The specified module could not be found.

超级令人沮丧。 真的很感谢这里的任何帮助!

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

正如您引用的 pymssql 文档中(简要地)以及我在此处的相关答案中所提到的,您的 Windows PATH需要包含DLL 文件所在的文件夹,而不是 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 的非加密连接。

现在我建议从这里下载你需要的版本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 文件名>

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM