簡體   English   中英

import _socket:“導入錯誤:DLL 加載失敗”

[英]import _socket: "Import Error: DLL load failed"

我昨天試圖安裝 Django 和 pymc。 遇到很多問題后,我決定重新安裝 Python 2.7。 我已經做到了,但現在導入幾乎任何東西都遇到了問題。 我得到一堆線,最后一行是:

 File "c:\python27\lib\httplib.py", line 71, in <module>
   import socket
 File "c:\python27\lib\socket.py", line 47, in <module>
   import _socket
ImportError: DLL load failed: The specified procedure could not be found.

無論我是在命令提示符下運行 python(有效)並嘗試執行import pip ,還是在 shell python get-pip.py之外鍵入,我都會得到相同的最后幾行。

我應該 state 作為記錄,我的機器上有兩個版本的 python,一個是 2.7,另一個是我認為位於 canopy 文件夾中的 2.6,但這也不起作用,給出錯誤消息 `ImportError:沒有名為 os 的模塊。我的 PATH 環境變量以“c:\python27;c:\python27\scripts”開頭。

我已經重新安裝了幾次 python,也嘗試了修復選項,但無濟於事。 有人有主意嗎?

編輯:似乎當我卸載 Python 時,我忽略了刪除 C:\Python27 文件夾。 我再次卸載,刪除文件夾,然后重新安裝,現在可以使用了。 謝謝您的幫助。

升級到python 2.7.12之后我遇到了同樣的錯誤。

為了解決這個問題,我在同一目錄中進行了另一次安裝。 有趣的是,安裝程序無法識別現有安裝。 我確保檢查“將python.exe添加到路徑”。 在那之后,它奏效了。

嘗試再次安裝python 2.7.12,安裝程序識別出現有安裝,並提供了更改/修復/卸載選項。

更新:在回顧中,原因可能是,我無意中將32位安裝與64位更新混合(反之亦然)。 Python似乎沒有安裝到不同的目錄或使用不同的DLL名稱。 安裝程序也不會警告您。 所以在更新之后,你的DLL是32位和64位變體的不健康混合。

我有同樣的問題,在我混合py2和py3環境(windows 10)后,通過以下方式解決它:

1. Uninstall all py2 & py3
2. install py 2.7.14 win32 (now newest)
3. add following enviroment varaible to system Path & PythonPath:
1) C:\Python27
2) C:\Python27\Script
3) C:\Python27\Lib
4) C:\Python27\DLLs

參考: 這里

我剛剛通過在環境變量中添加以下內容解決了這個問題:

PYTHONHOME : C:\Python39\apps\Python39

我建議使用PyWin32或PyWin64,具體取決於您的系統架構。 如果您的系統是x86,請獲取PyWin32,否則如果您的系統是x64則獲取PyWin64。 我自己也有類似的問題,讓PyWin32幫助我解決了這些問題。

import sys
sys.path.append("address where the socket module is present like C:\Python34\Lib\")
import socket

試試這可能會奏效

這一點似乎是Python 2.7.13的一個問題。 安裝2.7.12為我修好了。

實際上它看起來像import _socket調用失敗,導致此錯誤ImportError:DLL加載失敗

get-pip.py函數b85decode()試圖導入找不到的_socket,解決方案是你可以安裝任何3.X版本並運行get-pip.py來解決問題並得到pip安裝。

C:\\ Python33> python.exe C:\\ get-pip.py

收集點子下載pip-7.1.2-py2.py3-none-any.whl(1.1MB)100%| ######################### ####### | 1.1MB 197kB / s

安裝收集的軟件包:pip,setuptools,wheel成功安裝pip-7.1.2 setuptools-18.5 wheel-0.26.0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM