错误。。。ImportError:没有名为cassandra.cluster的模块
我正在尝试跟随下面关于写入路径的视频,当我使用提供的示例学生文件时,我得到了下面的错误…我对cassandra非常陌生,并试图找出EXCERASE文件不起作用的原因…我提供了我得到的错误(导入错误:没有名为cassandra.cluster的模块)还有.sh和.py文件…欢迎提供任何帮助错误。。。ImportError:没有名为cassandra.cluster的模块,cassandra,Cassandra,我正在尝试跟随下面关于写入路径的视频,当我使用提供的示例学生文件时,我得到了下面的错误…我对cassandra非常陌生,并试图找出EXCERASE文件不起作用的原因…我提供了我得到的错误(导入错误:没有名为cassandra.cluster的模块)还有.sh和.py文件…欢迎提供任何帮助 cass@cass:~/student files/write path/exercise-1$ccm列表 *演示节点 cass@cass:~/student files/write path/exercis
cass@cass:~/student files/write path/exercise-1$ccm列表
*演示节点
cass@cass:~/student files/write path/exercise-1$
cass@cass:~/student files/write path/exercise-1$ccm状态
集群:“demo_1node”
---------------------
点头1:起来
cass@cass:~/student files/write path/exercise-1$
cass@cass:~/student files/write path/exercise-1$。/write_data.sh 300000
回溯(最近一次呼叫最后一次):
文件“/write_data.py”,第5行,在
从cassandra.cluster导入集群
ImportError:没有名为cassandra.cluster的模块
cass@cass:~/student files/write path/exercise-1$
cass@cass:~/student files/write path/exercise-1$cat write_data.sh
#!/bin/bash
如果[$#-ne 1];然后
echo“用法:write_data.sh”
出口0
fi
如果[`ccm status | grep“node1:UP”| wc-l`-ne 1];然后
echo“Cassandra群集未启动”
出口0
fi
./write_data.py$1
cass@cass:~/student files/write path/exercise-1$
cass@cass:~/student files/write path/exercise-1$cat write\u data.py
#!/usr/bin/python
#此Python脚本将在
#音乐用户
从cassandra.cluster导入集群
从随机导入randint
从集合导入集合
从uuid导入uuid4
导入操作系统、系统、时间、binascii
如果len(系统argv)<2:
打印“用法:python.py”
sys.exit()
集群=集群(['127.0.0.1'])
session=cluster.connect()
insert_row_prepare=session.prepare(“插入musicdb.user(id,首选项)值(?,)”)
季度=int(int(sys.argv[1])/4)
half=int(int(sys.argv[1])/2)
三个四分之一=int(int(sys.argv[1])/4)+int(int(sys.argv[1])/2)
对于范围(0,int(sys.argv[1])内的x:
id=uuid4()
set=set([binascii.b2a_hex(os.uradom(100)),binascii.b2a_hex(os.uradom(100)),binascii.b2a_hex(os.uradom(100)),
binascii.b2a_hex(os.uradom(100)),binascii.b2a_hex(os.uradom(100)),binascii.b2a_hex(os.uradom(100)),
binascii.b2a_hex(os.uradom(100)),binascii.b2a_hex(os.uradom(100)),binascii.b2a_hex(os.uradom(100)),
binascii.b2a_hex(os.uradom(100)),binascii.b2a_hex(os.uradom(100)),binascii.b2a_hex(os.uradom(100)))
insert\u row\u bind=insert\u row\u prepare.bind([id,set])
session.execute(插入\u行\u绑定)
如果(x+1)=int(sys.argv[1]):
打印“100%完成-”+str(x+1)+“插入行”
elif(x+1)=季度:
打印“完成25%-”+str(x+1)+“插入行”
elif(x+1)=一半:
打印“完成50%-”+str(x+1)+“插入行”
elif(x+1)=四分之三:
打印“75%完成-”+str(x+1)+“插入行”
时间。睡眠(1)
cluster.shutdown()
cass@cass:~/student files/write path/exercise-1$
您需要安装python驱动程序。安装cassandra驱动程序:
pip install cassandra-driver
我带着同样的问题来到这里。当我看到答案时,我意识到我可能安装了Python2的驱动程序。我尝试了以下方法,现在效果良好:
pip3 install cassandra-driver
python开发人员真的很难在noobs上使用,因为python 2和python 3非常不兼容。您安装了datastax python驱动程序吗?谢谢richard,正如我所提到的,我对这一点真的很陌生……但是在安装python驱动器之后,它似乎带有一个警告。。。cass@cass:~/student files/write path/exercise-1$./write_data.sh 3000/usr/local/lib/python2.7/dist packages/cassandra/cqltypes.py:64:UserWarning:blist库不可用,因此,对于集合收集值,将使用普通集合代替blist.sortedset。您可以在此处找到blist库:“blist库不可用,因此正常设置将”完成25%-插入750行。完成50%——插入1500行。75%已完成-插入2250行。100%完成-插入3000行。cass@cass:~/student files/write path/exercise-1$这是一个警告,您可以忽略它。看起来它正在工作。谢谢Richard。对不起,我也是stackoverflow的新手。我怎样才能把你的答案标记为正确的呢?这个页面在谷歌排名很高,但却缺少带有特定命令的答案,甚至连一个链接都没有。(pip,apt,tarball?)sudo-pip安装cassandra驱动程序和sudo-pip安装cassandra驱动程序-升级和sudo-apt-get安装python2.7-dev和sudo-pip安装blist(假设您在Ubuntu上)。还要注意的是,Cassandra驱动程序环境发生了变化,这意味着今天要安装的最好的驱动程序可能不是两年后最好的驱动程序。我试图运行上面的脚本,但终端显示找不到pip命令。。!我是python新手。
pip3 install cassandra-driver