卡珊德拉:" cqlsh"第145行除了ImportError,e:^ SyntaxError:语法无效

时间:2018-01-12 03:55:47

标签: python-3.6 cassandra-3.0

在Windows 10中安装了带有jdk 1.8.0_151和python 3.6的cassandra 3.11.1版本。环境变量中可用的所有路径。 当我在命令提示符下运行cqlsh时,我得到以下错误:

File "C:\Cassandra\bin\\cqlsh.py", line 145
    except ImportError, e:
                      ^
SyntaxError: invalid syntax

任何人,幸运的是上述错误?

10 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。我将python降级到2.7,它对我有用。

错误:

cqlsh.py”,第146行     除了ImportError,e:                       ^ SyntaxError:语法无效

答案 1 :(得分:1)

参考:https://docs.python.org/3.6/tutorial/errors.html

错误是正确的,因为您的语法错误。它应该是:

except ImportError as e:

答案 2 :(得分:1)

cqlsh需要Python 2解释器。见https://issues.apache.org/jira/browse/CASSANDRA-10190

答案 3 :(得分:1)

我和你有同样的问题。 我已经安装了Prerequisites中提到的python 2.7版本,并且错误不再出现

答案 4 :(得分:0)

我的情况:我必须安装Apache cassandra。我已经在 D:驱动器中安装了Python3。随着Python 3上大量开发工作的进行,我不想弄乱我的Python 3安装。而且,我只需要Python2用于Apache cassandra。

您是来这里寻找答案的,所以:

  • 我假设您已安装 Apache cassandra 的所有必备组件,但 Python2 除外。
  • 您没有安装Python2,因为您已经在系统上启动并运行了 Python3
  • 尝试运行 @Component public class Terminator implements SmartLifecycle { private boolean started = true; @Override public void stop() { // CLEANUP CODE } @Override public void stop(Runnable callback) { stop(); callback.run(); } @Override public int getPhase() { return Integer.MAX_VALUE; } @Override public boolean isAutoStartup() { return true; } @Override public boolean isRunning() { return started; } } 时出现错误
  • 您不想安装Python2,因为您不想弄乱已安装的Python3中的任何内容。

我有同样的问题。现在,在下面检查我的答案。

https://stackoverflow.com/a/58285774/1513779

建议:

  1. 请勿按照上述建议在cqlsh.py中尝试cqlsh。您将陷入许多错误和警告的循环。按照链接中提到的步骤安装Python2。

答案 5 :(得分:0)

首先安装python 2.7 在PATH键的系统变量C:\Python27中设置路径

答案 6 :(得分:0)

如果您使用的是不同版本的python,我建议这样做:

  • 使用以下命令安装cqlsh

    python2.7 -m pip安装cqlsh

这将在您的Python2.7上下文中安装cqlsh

  • 此外,您可能还需要以同样的方式安装cassandra-driver:

    python2.7 -m pip安装cassandra驱动程序

答案 7 :(得分:0)

如果已安装Cassandra 4.0,请使用sudo cqlsh。它将正常工作

答案 8 :(得分:0)

你可以和python3一起安装python2,把bin文件夹下的cqlsh.bat文件从python改成python2就是这样

@echo off

if "%OS%" == "Windows_NT" setlocal

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

python2 "%~dp0\cqlsh.py" %*
goto finally

:err
echo Can't detect Python version!

:finally

ENDLOCAL

注意:要安装python3和python2,可以将两者都添加到path中,将python2文件夹中的python.exe改成python2.exe

答案 9 :(得分:-1)

原因是您的 Cassandra 引用了您系统上安装的 Python 3。要解决此问题,请执行以下操作...,

<块引用>
  1. 在您的系统上安装 python 2。
  2. 将 python2 添加到您的环境变量中。
  3. 导航到您的 Cassandra bin 文件夹,例如 C:\Cassandra\apache-cassandra-3.11.9\bin>
  4. py -2 -V(验证您是否安装了 python 2)
  5. py -2 -m cqlsh(来自您的 Cassandra bin 文件夹。)