Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
64位python 2.5/2.6+;视窗7“;“导入套接字”;DLL加载错误_Python_Windows_Windows 7_64 Bit_32bit 64bit - Fatal编程技术网

64位python 2.5/2.6+;视窗7“;“导入套接字”;DLL加载错误

64位python 2.5/2.6+;视窗7“;“导入套接字”;DLL加载错误,python,windows,windows-7,64-bit,32bit-64bit,Python,Windows,Windows 7,64 Bit,32bit 64bit,我安装了最新的64位Python 2.5。我运行shell,尝试导入套接字,并获得: >>> import socket Traceback (most recent call last): File "<stdin>", line 1, in <module> File "c:\python25\lib\socket.py", line 45, in <module> import _socket ImportError:

我安装了最新的64位Python 2.5。我运行shell,尝试导入套接字,并获得:

>>> import socket
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "c:\python25\lib\socket.py", line 45, in <module>
    import _socket
ImportError: DLL load failed with error code 193
>>> import socket
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "c:\python26-64\lib\socket.py", line 46, in <module>
    import _socket
ImportError: DLL load failed: %1 is not a valid Win32 application.
导入套接字 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“c:\python25\lib\socket.py”,第45行,在 导入\u套接字 ImportError:DLL加载失败,错误代码为193 我在64位Python 2.6.6中尝试了同样的方法,得到了:

>>> import socket
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "c:\python25\lib\socket.py", line 45, in <module>
    import _socket
ImportError: DLL load failed with error code 193
>>> import socket
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "c:\python26-64\lib\socket.py", line 46, in <module>
    import _socket
ImportError: DLL load failed: %1 is not a valid Win32 application.
导入套接字 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“c:\python26-64\lib\socket.py”,第46行,在 导入\u套接字 ImportError:DLL加载失败:%1不是有效的Win32应用程序。 怎么回事?(我仔细检查了一下,是的,操作系统是64位的)


更新:这台机器上还安装了32位python。。如果这是一个冲突,我如何安装这两个版本的python并使它们表现良好?

这两个错误是相同的错误,代码193,以两种不同的方式报告。这是因为64位Python试图加载32位DLL

很难说清楚为什么会发生这种情况。也许您错误地安装了一些32位Python模块。也许路径上有些混乱


然而,通常解决这类问题的最简单方法是切换到32位Python,它在64位Windows上运行得无可挑剔。另一个好处是,您有时会希望使用仅以32位形式提供的模块–64位模块支持仍然有点不完善。

当我使用py2exe构建(32位)二进制文件,然后在同一目录中运行64位解释器时,我遇到了这种情况。显然(合理地)它会选择套接字模块的本地实例(然后加载32位dll)而不是解释器的套接字模块(正确加载64位dll)

我确实安装了32位python。。问题是我使用的是virtualbox API,它使用COM,这要求python具有与virtualbox相同的位,即64位=(.否则,我只支持32位。嗯。很明显,导入_socket会导致尝试加载32位DLL。如果错误消息告诉您哪一个:%1没有多大用处,那就太好了。如果我是您,我不会尝试将我的PATH环境变量剥离为赤裸裸的。可能是您的路径上的某个东西导致了问题。请执行以下操作:在命令行中,然后启动Python,使您的实验保持在控制台窗口的本地!哦,问题是我被延迟了,也就是说,我运行脚本的目录中有一个剩余的py2exe东西,我猜里面有32位DLL。感谢您的帮助!