WinPython安装问题(pyzmq问题导致)WinPython-3.4.4.1

最近yvivid安装WinPython-32bit-3.4.4.1,

安装后,运行spyder运行时出现如下错误,

Traceback (most recent call last):
File "D:\WinPython-3.4.4.1\python-3.4.4\lib\runpy.py", line 170, in _run_module_as_main
"__main__", mod_spec)
File "D:\WinPython-3.4.4.1\python-3.4.4\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "D:\WinPython-3.4.4.1\python-3.4.4\lib\site-packages\spyderlib\start_app.py", line 134, in <module>
main()
File "D:\WinPython-3.4.4.1\python-3.4.4\lib\site-packages\spyderlib\start_app.py", line 118, in main
from spyderlib import spyder
File "D:\WinPython-3.4.4.1\python-3.4.4\lib\site-packages\spyderlib\spyder.py", line 141, in <module>
from spyderlib.config.ipython import IPYTHON_QT_INSTALLED
File "D:\WinPython-3.4.4.1\python-3.4.4\lib\site-packages\spyderlib\config\ipython.py", line 56, in <module>
IPYTHON_QT_INSTALLED = is_qtconsole_installed()
File "D:\WinPython-3.4.4.1\python-3.4.4\lib\site-packages\spyderlib\config\ipython.py", line 40, in is_qtconsole_installed
pyzmq_installed = programs.is_module_installed('zmq', version=ZMQ_REQVER)
File "D:\WinPython-3.4.4.1\python-3.4.4\lib\site-packages\spyderlib\utils\programs.py", line 321, in is_module_installed
actver = get_module_version(module_name)
File "D:\WinPython-3.4.4.1\python-3.4.4\lib\site-packages\spyderlib\utils\programs.py", line 265, in get_module_version
mod = __import__(module_name)
File "D:\WinPython-3.4.4.1\python-3.4.4\lib\site-packages\zmq\__init__.py", line 47, in <module>
_libzmq = ctypes.cdll.LoadLibrary(bundled[0])
File "D:\WinPython-3.4.4.1\python-3.4.4\lib\ctypes\__init__.py", line 429, in LoadLibrary
return self._dlltype(name)
File "D:\WinPython-3.4.4.1\python-3.4.4\lib\ctypes\__init__.py", line 351, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 127] 找不到指定的程序。

 

从网络搜索相关信息,发现相关文章如下

1) https://sourceforge.net/p/winpython/tickets/117

2) https://github.com/winpython/winpython/issues/17

3) 在XP上安装WinPython最新版本  http://www.cnblogs.com/bsmagic/p/4378370.html

 

相关问题提示为 pyzmq不支持WinXP的缘故

为了确定这个问题,尝试在 IDLE 中运行 import zmq,出现如下错误,

>>> import zmq
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
import zmq
File "D:\WinPython-3.4.4.1\python-3.4.4\lib\site-packages\zmq\__init__.py", line 47, in <module>
_libzmq = ctypes.cdll.LoadLibrary(bundled[0])
File "D:\WinPython-3.4.4.1\python-3.4.4\lib\ctypes\__init__.py", line 429, in LoadLibrary
return self._dlltype(name)
File "D:\WinPython-3.4.4.1\python-3.4.4\lib\ctypes\__init__.py", line 351, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 127] 找不到指定的程序。

因此,yvivid判定是pyzmq的问题。(另外也尝试了 import ctype是正常的,没有报错)

 

不过之前的方案都是找到旧版本覆盖。

yvivid暂不确定是否新的版本包冲突,所以尝试从 pypi.python.org下载文件版,重新安装尝试,

pyzmq-14.7.0-cp34-none-win32.whl(PyPI上找到的旧版本)

pyzmq-15.2.0-cp34-none-win32.whl(PyPI上找到的最新版本,和 winpython自带版本一致

使用pip重新安装后,spyder就可以用了。上面两个版本均能支持spyder。

初步判断,应该是 winpython 中使用pyzmq包对 WinXP支持较差(预计为路径识别 or 调用库不匹配等因素)。

但PyPI放出的 pyzmq对 WinXP仍有较好支持。

 

用 PyPI的 pyzmq 更可靠一些,没有必要使用旧库覆盖等方式。

【原创文档,引用请声明出处,yvivid】https://www.cnblogs.com/yvivid/p/5497990.html

 

posted @ 2016-05-16 14:29  yvivid  阅读(4018)  评论(0编辑  收藏  举报