Java 为Django设置Cassandra-“;ImportError:没有名为pycassa的模块;
我遵循了以下指南: 已安装Pycassa,包括所有依赖项。一切运行顺利,但运行Java 为Django设置Cassandra-“;ImportError:没有名为pycassa的模块;,java,django,cassandra,virtualenv,pycassa,Java,Django,Cassandra,Virtualenv,Pycassa,我遵循了以下指南: 已安装Pycassa,包括所有依赖项。一切运行顺利,但运行python manage.py sync\u cassandra时发出以下消息: ImportError: No module named pycassa ['', '/home/z/twiss/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg', '/home/z/twiss/lib/python2.6/site-packages/pip-0.8.2-
python manage.py sync\u cassandra时发出以下消息:
ImportError: No module named pycassa
['', '/home/z/twiss/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg', '/home/z/twiss/lib/python2.6/site-packages/pip-0.8.2-py2.6.egg', '/home/z/twiss/lib/python2.6', '/home/z/twiss/lib/python2.6/plat-linux2', '/home/z/twiss/lib/python2.6/lib-tk', '/home/z/twiss/lib/python2.6/lib-old', '/home/z/twiss/lib/python2.6/lib-dynload', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/home/z/twiss/lib/python2.6/site-packages', '/usr/local/lib/python2.6/dist-packages/pycassa-1.0.5-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/virtualenv-1.5.1-py2.6.egg', '/usr/local/lib/python2.6/site-packages', '/usr/local/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/python2.6/dist-packages/gst-0.10', '/usr/lib/pymodules/python2.6', '/usr/lib/python2.6/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.6/gtk-2.0']
因此,我运行Python交互式解释器并键入import pycassa
,该命令成功运行,没有错误
运行
import sys
sys.path
将发出信息:
ImportError: No module named pycassa
['', '/home/z/twiss/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg', '/home/z/twiss/lib/python2.6/site-packages/pip-0.8.2-py2.6.egg', '/home/z/twiss/lib/python2.6', '/home/z/twiss/lib/python2.6/plat-linux2', '/home/z/twiss/lib/python2.6/lib-tk', '/home/z/twiss/lib/python2.6/lib-old', '/home/z/twiss/lib/python2.6/lib-dynload', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/home/z/twiss/lib/python2.6/site-packages', '/usr/local/lib/python2.6/dist-packages/pycassa-1.0.5-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/virtualenv-1.5.1-py2.6.egg', '/usr/local/lib/python2.6/site-packages', '/usr/local/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/python2.6/dist-packages/gst-0.10', '/usr/lib/pymodules/python2.6', '/usr/lib/python2.6/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.6/gtk-2.0']
站点包
在列表中。但我有点困惑,因为这是在虚拟环境中
我不知道发生了什么,该怎么办试着编辑tweets/management/commands/sync_cassandra.py以包括
import sys
print sys.path
在顶端。确保这包括pycassa所在的目录。例如,我在twiss/lib/python2.6/site-packages中有一个pycassa目录
顺便说一句,ericflo的repo已经过时了——在他接受一些pull请求之前,您需要使用它。可能pycassa包丢失了,我会尝试以下方法,并建议将必要的包存储在需求文件中,并像这样利用冻结/安装
要解决pycassa错误的第一个问题:
一旦python项目的所有需求都满足了,就将所需的包输出到requirements.txt中,就像NodeJS的package.json一样
- 冻结:将当前包输出到requirements.txt文件中
- 安装:将requirements.txt中所需的所有软件包安装到Python环境中
它在Django REPL中工作吗?我不知道什么是Django REPL。我会看看的