在Ubuntu上,Datastax Python cassandra驱动程序构建失败

时间:2016-10-26 00:37:49

标签: python linux python-3.x ubuntu cassandra

我试图在Ubuntu 14.04.5上安装Datastax Python Cassandra驱动程序。 LTS。安装成功但后续尝试使用它失败并显示错误:

Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-91-generic x86_64)
~$ python3 --version
Python 3.5.2
~$ python3 -c 'import cassandra; print(cassandra.__version__)'
3.7.0
~$ python3 cassandra_loader.py
Traceback (most recent call last):
  File "cassandra_loader.py", line 7, in 
    from cassandra_tools import transform_record, QueryManager
  File "../lib/cassandra_tools.py", line 6, in 
    from cassandra.cluster import Cluster
  ImportError: /usr/local/lib/python3.5/site-packages/cassandra/cluster.cpython-35m-x86_64-linux-gnu.so: undefined symbol: PyException_Check

相同的安装过程和相同的代码在RedHat上运行良好。谷歌搜索错误代码什么都不返回。任何人都知道可能是什么问题?

2 个答案:

答案 0 :(得分:3)

这与此问题重复:cluster.cpython-34m.so: undefined symbol: PyException_Check

我在那里回答,但这里是答案的副本,因为我无法发表评论。

今天发布的最新版Cython(0.25)打破了cassandra-driver。

解决此问题的方法是在安装cassandra-driver之前安装Cython == 0.24.1。

(env) $ pip install Cython==0.24.1 (env) $ pip install cassandra-driver

您可能需要先从site-packages删除现有的cassandra-driver软件包:

rm -r $WHERE_PYTHON_IS_INSTALLED/lib/python2.7/site-packages/cassandra*

有关详细信息,请参阅https://datastax-oss.atlassian.net/browse/PYTHON-656

答案 1 :(得分:1)

我们刚刚发布了补丁版本3.7.1来修复由新版Cython引起的问题。升级你的cassandra-driver:

    pip install --upgrade cassandra-driver