cluster.cpython-34m.so:未定义的符号:PyException_Check

时间:2016-10-26 08:55:51

标签: python-3.x cassandra elastic-beanstalk datastax

我在amazon linux上运行一个简单的python(3.4.3)烧瓶应用程序,该应用程序使用datastax cassandra-driver(3.6)。我的应用程序无法导入模块。

Traceback (most recent call last):
  File "application.py", line 12, in <module>
    from cassandra.cluster import Cluster
ImportError: /opt/python/run/venv/local/lib64/python3.4/site-packages/cassandra/cluster.cpython-34m.so: undefined symbol: PyException_Check
(venv)[ec2-user@ip-1-1-1-1 app]$ uname -a
Linux ip-1-1-1-1 4.4.15-25.57.amzn1.x86_64 #1 SMP Wed Jul 27 22:37:49 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Other Packages installed:
$ pip freeze
cassandra-driver==3.6.0
click==6.6
Flask==0.11
itsdangerous==0.24
Jinja2==2.8
MarkupSafe==0.23
six==1.10.0
Werkzeug==0.11.11
xmltodict==0.10.2

1 个答案:

答案 0 :(得分:3)

今天发布的最新版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