[英]“ImportError: DLL load failed” when trying to import pymssql on Windows
我正在嘗試使用這里的示例代碼:
http://www.pymssql.org/en/latest/pymssql_examples.html
我使用pip
安裝了 pymmsql 模塊。 我也在 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.
我錯過了什么?
更新
由於用戶社區對 2.1.2 更改的負面反饋,pymssql 2.1.3 及更高版本已恢復讓pip install pymssql
分發預編譯的輪文件,這些文件靜態鏈接到 FreeTDS 而不支持 SSL。
因此,如果您需要 SSL 支持,那么您仍然不能簡單地執行pip install pymssql
。 對於 Windows,您需要遵循以下過程,或者對於 Linux,您需要使用類似此問題的答案中描述的過程從源代碼構建 pymssql(可能還有 FreeTDS)
pymssql 的 2.1.2 版對其在 Windows 上的設置方式進行了重大更改。 以前的版本是通過靜態鏈接的FreeTDS 分發的,所以我們需要做的就是安裝 pymssql(例如pip install pymssql
)並且它“正常工作”,但不支持 SSL 連接。
從 pymssql 2.1.2 版開始,pymssql 與 Windows 上的 FreeTDS動態鏈接,並且不附帶 FreeTDS(和 OpenSSL,如果需要)的必需組件。 我們仍然可以使用pip install pymssql
安裝 pymssql 本身,但這可能已經不夠了。 如果我們還沒有在 Windows 機器上安裝 FreeTDS,那么我們必須自己下載組件。
下載鏈接可以在 pymssql 文檔頁面上找到:
pymssql-Docs-FreeTDS-安裝-Windows 。
如果不需要SSL連接,然后我們只需要下載freetds的組件,並確保“LIB-nossl”文件夾中的內容可以通過搜索窗口中找不到PATH
。
如果需要 SSL 連接,那么我們必須下載 FreeTDS 和 OpenSSL 組件並確保可以找到適當的 DLL(在 FreeTDS 的“lib”文件夾中,對於 OpenSSL 在“bin”或“bin64”文件夾中)可以找到通過搜索 Windows PATH
。
請注意,這些更改會影響 pymssql 的新安裝和升級。 據報道,簡單地將 pymssql 從 2.1.1 版升級到 2.1.2 版將破壞 Windows 上的 pymssql,直到下載 FreeTDS(和 OpenSSL,如果需要)所需的組件。
我有這個問題。 對我來說最簡單的解決方案是卸載 2.1.2 然后安裝 2.1.1:
pip卸載pymssql
pip 安裝“pymssql == 2.1.1”
現在我建議從這里下載你需要的版本https://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql然后通過以下步驟安裝。
我不需要安裝任何額外的東西,開箱即用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.