【问题标题】:Datastax Python cassandra driver build fails on UbuntuDatastax Python cassandra 驱动程序在 Ubuntu 上构建失败
【发布时间】:2017-03-08 04:57:42
【问题描述】:

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

欢迎使用 Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-91-generic x86_64) ~$ python3 --version Python 3.5.2 ~$ python3 -c '导入卡桑德拉;打印(cassandra.__version__)' 3.7.0 ~$ python3 cassandra_loader.py 回溯(最近一次通话最后): 文件“cassandra_loader.py”,第 7 行,在 从 cassandra_tools 导入 transform_record,查询管理器 文件“../lib/cassandra_tools.py”,第 6 行,在 从 cassandra.cluster 导入集群 ImportError:/usr/local/lib/python3.5/site-packages/cassandra/cluster.cpython-35m-x86_64-linux-gnu.so:未定义符号:PyException_Check

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

【问题讨论】:

  • 我在生产中也面临同样的问题。在构建驱动程序时观察到此警告:cassandra/cluster.c:16461:7:警告:函数“PyException_Check”的隐式声明 [-Wimplicit-function-declaration] __pyx_t_15 = PyException_Check(__pyx_v_f); ^
  • 我们也有同样的问题,第一次发生在 12 小时前什么的,不过我们使用的是 Python2.7
  • datastax-oss.atlassian.net/browse/PYTHON-656 这里提到了解决方法

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


【解决方案1】:

这是这个问题的重复: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

您可能需要先从站点包中删除现有的 cassandra-driver 包:

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

更多信息请见https://datastax-oss.atlassian.net/browse/PYTHON-656

【讨论】:

    【解决方案2】:

    我们刚刚发布了一个补丁版本 3.7.1 来修复由新版本 Cython 引起的问题。升级您的 cassandra 驱动程序:

        pip install --upgrade cassandra-driver
    

    【讨论】:

    • 我正在通过 django-cassandra-engine==0.11.1 (r4fek.github.io/django-cassandra-engine) 使用 cassandra-driver,并且在 3.7.1 中遇到此错误:cassandra.cqlengine.CQLEngineException: Connection name '<object object at 0x7f47b75b1740>' doesn't exist in the registry。它在 cassandra-driver==3.6.0 上运行良好。不确定是我的问题,django-cassandra-engine 还是 cassandra-engine;仍在调查。
    • 按照上面的建议将 Cython 固定到 0.24.1 并将 Cassandra 版本保持在 3.6.0 对我有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-24
    • 2016-02-27
    • 2017-01-20
    • 2015-10-28
    • 2018-02-15
    • 2013-12-23
    • 2015-10-25
    相关资源
    最近更新 更多