cassandra-driver:ImportError:没有名为queue的模块

时间:2016-06-06 20:24:52

标签: python cassandra datastax

我在OSX 10.11上用pip安装cassandra-driver。 直接离开点,cassandra-driver出现了这个错误:

traceback (most recent call last):   File "syncS3ToCassandra.py", line 19, in <module>
from cassandra.cluster import Cluster   File "cassandra/cluster.py", line 48, in init cassandra.cluster (cassandra/cluster.c:74747)   
File "cassandra/connection.py", line 38, in init cassandra.connection (cassandra/connection.c:28007) 
ImportError: No module named queue

我没有尝试从源代码构建cassandra-driver,但pip是推荐的方法。这是我的代码:

from cassandra.cluster import Cluster
from cassandra.policies import DCAwareRoundRobinPolicy

cluster = Cluster()
session = cluster.connect('foo')

4 个答案:

答案 0 :(得分:5)

我也在我的mbp上遇到了这个问题。还有一些其他问题我无法卸载六个。我使用easy_install将版本从1.4.1更新到1.10.0来修复它。

$sudo easy_install -U six

希望它可以帮到你。

答案 1 :(得分:1)

从源代码中,您需要安装包,它应该有一个子包移动,其中包含一个模块 queue.py

38    from six.moves.queue import Queue, Empty

你可以尝试重新安装六个吗?

  1. pip uninstall six
  2. pip install six

答案 2 :(得分:1)

由于 cassandra-driver (版本3.4.1)仅作为.tar.gz包提供,因此您必须从源代码重新编译它。这就是pip所做的。

我在OSX 10.11.5上成功安装了它(编译至少花了一分钟)。

我试试这个:

$ python
Python 2.7.10 (default, Oct 23 2015, 19:19:21) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from cassandra.cluster import Cluster
>>> from cassandra.policies import DCAwareRoundRobinPolicy
>>> cluster = Cluster()
>>> session = cluster.connect('foo')
Traceback (most recent call last):
  ...
cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers', {'127.0.0.1': error(61, "Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused")})

最后一个错误是正常的,因为我没有服务器。

编辑:在Python 3.5中安装

我在OSX 10.11.5上的Python 3.5.1中成功安装并测试了(尽可能多)此驱动程序

$ python
Python 3.5.1 (v3.5.1:37a07cee5969, Dec  5 2015, 21:12:44)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from cassandra.cluster import Cluster
>>> from cassandra.policies import DCAwareRoundRobinPolicy
>>> cluster = Cluster()
>>> session = cluster.connect('foo')
Traceback (most recent call last):
...
cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers'[..])

我使用基本前缀&#39; /Library/Frameworks/Python.framework/Versions/3.5'创建了一个virtualenv。

答案 3 :(得分:0)

我通过使用:

更新我的〜/ .profile解决了这个问题
export PATH=/usr/local/bin:/usr/local/sbin:$PATH

并安装python-2.7.11

$ brew install python

然后重启我的shell。