尝试导入zmq
时收到错误:
Traceback (most recent call last): File "BasicPub.py", line 1, in <module>
import zmq File "/home/przemek/Enthought/Canopy_32bit/User/lib/python2.7/site-packages/zmq/__init__.py", line 66, in <module>
from zmq import backend File "/home/przemek/Enthought/Canopy_32bit/User/lib/python2.7/site-packages/zmq/backend/__init__.py", line 40, in <module>
reraise(*exc_info) File "/home/przemek/Enthought/Canopy_32bit/User/lib/python2.7/site-packages/zmq/backend/__init__.py", line 27, in <module>
_ns = select_backend(first) File "/home/przemek/Enthought/Canopy_32bit/User/lib/python2.7/site-packages/zmq/backend/select.py", line 27, in select_backend
mod = __import__(name, fromlist=public_api) File "/home/przemek/Enthought/Canopy_32bit/User/lib/python2.7/site-packages/zmq/backend/cython/__init__.py", line 6, in <module>
from . import (constants, error, message, context, ImportError: /home/przemek/Enthought/Canopy_32bit/User/lib/python2.7/site-packages/zmq/backend/cython/message.so: undefined symbol: zmq_msg_gets
有人建议我应该彻底删除zmq并重新安装。
我曾尝试用pip来做,但似乎在某些配置文件中仍然存在。我使用了locate
并手动删除了一些目录。我认为这会有所帮助,但重新安装后仍然有错误。我使用的是Python2.7和Ubuntu 14.04。
答案 0 :(得分:1)
您可以尝试以下操作:
sudo rm /usr/local/lib/libzmq*
sudo rm /usr/local/include/zmq.h
因为这些是ZeroMQ的libzmq安装的两个位置。
答案 1 :(得分:0)
This link提供了一些有关如何使用Debian操作系统卸载zeromq的选项。
您需要使用purge
命令:
sudo apt-get purge --auto-remove python-zmq
答案 2 :(得分:0)
您可能使用源ditribution安装它。 要撤消此操作,请cd到build目录并键入:
stack build --exec <first-executable in .cabal>