繁体   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