Datastax cassandra-driver (python) 导入失败

Posted

技术标签:

【中文标题】Datastax cassandra-driver (python) 导入失败【英文标题】:Datastax cassandra-driver (python) failed import 【发布时间】:2014-04-22 09:10:17 【问题描述】:

导入datastax cassandra-driver(python)时出现如下错误

错误

File "cassandra.py", line 1, in <module>
    from cassandra.cluster import Cluster
File "/home/vagrant/cassandra.py", line 1, in <module>
    from cassandra.cluster import Cluster
ImportError: No module named cluster

这是代码

from cassandra.cluster import Cluster
print dir(cassandra.cluster)
cluster = Cluster()
session = cluster.connect('userspace')
rows = session.execute('SELECT user_name, gender FROM users')
for user_row in rows:
    print user_row.user_name, user_row.gender

【问题讨论】:

问一个显而易见的问题:你是先pip install cassandra-driver 吗? 你这样做也是从源代码编译的 使用-vv 运行你的python 并执行from cassandra.cluster import Cluster。你会看到它试图在哪里找到包。确保包在 PYTHONPATH 中可用 它在我的 python 路径中也列在 pip 中 【参考方案1】:

嗯,看起来名字有冲突。您的脚本是cassandra.py,因此它是驱动程序的模块。尝试重命名你的脚本(别忘了删除它的.pyc)然后再试一次

【讨论】:

任何与关键字匹配的文件(比如 select.py)都会使其运行该文件而不是解析关键字。我使用了一个名为 - select.py 的脚本,它导致了类似的错误,当我将脚本重命名为无法匹配的脚本时,问题得到了解决。【参考方案2】:

安装CQL交互终端

sudo pip install cqlsh

【讨论】:

【参考方案3】:

我试过这个,它在我的情况下有效: python -m pip install `

例如: python -m pip install cassandra-driver

【讨论】:

那是另一个问题 - 这就是为什么有一个公认的答案...... 我刚刚举了一个例子,他用它来安装他想安装的包。 他已经通过 pip 安装了驱动程序 - 请参阅对问题的评论

以上是关于Datastax cassandra-driver (python) 导入失败的主要内容,如果未能解决你的问题,请参考以下文章

com.datastax.oss -> java-driver-core 和 com.datastax.cassandra -> cassandra-driver-core 之间的 Cas

我们在 linux 中是不是有工具来管理 Stargate (DataStax)?

DataStax 代理 6.5 未连接到 DSE 集群

使用 DataStax 生命周期管理器升级 cassandra

AWS 中的 Datastax 实例类型升级问题

ResultSet 不返回 DataStax 4.2 中 CQL 查询的结果