导入_socket: "导入错误:DLL加载失败
我昨天想安装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
,还是在外部输入python get-pip.py
,最后看到的错误信息都是一样的。
我得说明一下,我的电脑上有两个版本的Python,一个是2.7,另一个我记得是2.6,放在一个叫canopy的文件夹里,但那个也不行,出现了一个错误信息:`ImportError: No module named os`。我的PATH环境变量开头是"c:\python27;c:\python27\scripts"。
我已经重新安装Python好几次了,也尝试过修复选项,但都没有用。有没有人有什么建议?
补充:看起来我在卸载Python的时候,忘记删除C:\Python27这个文件夹。我又卸载了一次,删除了这个文件夹,然后重新安装,现在可以用了。谢谢大家的帮助。
7 个回答
我建议你根据你的系统架构下载 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
试试这个,可能会有效果。
我刚刚通过在环境变量中添加以下内容解决了这个问题:
PYTHONHOME : C:\Python39\apps\Python39
我也遇到了同样的问题,主要是因为我在Windows 10上混用了Python 2和Python 3的环境。解决这个问题的方法是:
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
参考链接:这里
我在升级到 Python 2.7.12 后也遇到了同样的错误。
为了解决这个问题,我在同一个文件夹里重新安装了一次。很有意思的是,安装程序并没有识别到之前的安装。我确保勾选了“将 python.exe 添加到路径”。之后,它就正常工作了。
当我再次尝试安装 Python 2.7.12 时,安装程序识别到了之前的安装,并给我提供了更改、修复和卸载的选项。
更新:回想起来,问题可能是因为我不小心把 32 位的安装和 64 位的更新混在了一起(或者反过来)。Python 似乎不会安装到不同的文件夹,也不会使用不同的 DLL 名称。安装程序也没有给出警告。所以在更新后,你的 DLL 文件就会变成 32 位和 64 位的混合体,这样就不太健康了。