簡體   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