34

我无法启动并运行 Cassandra。我已经下载了 Cassandra 2.0.1 和 Python 3.3.2。

在启动 cassandra 的 CLI 时,我收到一个错误:

C:\Dev\ApacheCassandra\apache-cassandra-2.0.1\bin>python cqlsh
  File "cqlsh", line 95
    except ImportError, e:
                      ^
SyntaxError: invalid syntax

有什么建议么?我打算将 python 降级到 2.7,看看是否能解决我的问题。

谢谢!

4

6 回答 6

48

您使用的 Cassandra 版本仅与 Python 2.x 兼容。

以下语法:

except ImportError, e:

在 Python 2.7 中已弃用并在 Python 3.x 中删除。如今,您使用as关键字:

except ImportError as e:

这意味着您需要降级到 Python 2.x 或获取与 Python 3.x 兼容的 Cassandra 版本。

于 2013-10-02T16:43:21.717 回答
1

您应该安装 python 2 并将其添加到您的环境变量中,如上所述

  1. py -2 -V(验证您是否安装了 python 2)
  2. py -2 -m cqlsh(来自您的 Cassandra bin 文件夹。)
  3. 在此处查看图像
于 2021-02-11T03:07:27.750 回答
0

如果有人仍在寻找答案,@heroin 在上述答案的评论中提供了最佳方法,即在 cqlsh 文件中,将标头从当前的 python3 解释器更改为 python2 解释器。例如旧

#!/usr/bin/python3

修改的

#!/usr/bin/python2

检查您的 python2 解释器的路径和名称并在上面替换。现在 cqlsh 将使用 python2 并运行没有任何问题。

于 2020-05-19T20:19:58.283 回答
0

我不是专家,但我可以分享最适合我的方法,而不必担心将整个系统的 python 降级到版本 2。

  1. 安装 Anaconda
  2. 转到右列的环境选项卡
  3. 在底部有一个创建选项。
  4. 对于 python 的包请选择 2.7。命名您想要的任何内容,然后单击创建
  5. 现在您可以单击您创建的环境并为其打开终端
  6. 最后运行 cqlsh 命令。

现在一切都应该正常了!

于 2021-05-15T17:30:49.047 回答
0
  1. 您需要安装 pyhon2。
  2. 在环境变量中设置路径变量
  3. 在 cqlsh.py 中将 python.exe 重命名为 python2.exe
  4. 将 cqlsh 中的脚本更改为 (python to python2)

在此处输入图像描述 如果 "%OS%" == "Windows_NT" 设置本地

python2 -V >nul 2>&1 if ERRORLEVEL 1 goto err

python2 "%~dp0\cqlsh.py" %* 最后转到

于 2020-05-21T20:30:41.823 回答
0

在 Windows 10 中,这对我有用。对于初学者,请注意,在遇到此错误之前,我的计算机中已安装 Python 3 和 Python 2

步骤1

转到文件夹 C:\Users\USER\AppData\Local\Programs\Python\Python3X-XX 并将您的 Python.exe 重命名为 Python3.exe(3X-XX 代表您已安装的任何 Python3 版本,而 Users\USER 将是您计算机的用户帐户)

第2步

转到文件夹 C:\Users\USER\AppData\Local\Programs\Python\Python3X-XX\Scripts 并将您的 pip.exe 重命名为 pip3X.exe(使用与路径中相同的 3X)

第 3 步

转到您的 Python 2 文件夹(我的文件夹位于 C:\Python27)并确保您有一个名为 python.exe 的 exe 文件

第4步

现在转到系统属性>高级选项卡下的环境变量(右下按钮)。进入后,双击系统变量部分下的路径。这将打开系统中的路径列表。通过单击新建添加两个 Python 路径,然后浏览(首先选择 (C:\Python27) 或任何 Python 2 路径),然后添加 Python 3 路径 (C:\Users\USER\AppData\Local\Programs\Python \Python3X-XX)。

在所有屏幕上点击 Ok 并尝试通过 cmd 运行 CQLSH 或 CQLSH 192.168....(无论您的种子节点的 IP 是什么),它应该可以工作!

于 2021-10-16T13:48:36.033 回答