【问题标题】:Cassandra 3.11.3 and cqlsh not support python 3.6 and 3.7?Cassandra 3.11.3 和 cqlsh 不支持 python 3.6 和 3.7?
【发布时间】:2019-03-26 22:23:38
【问题描述】:

我已经安装了 Python 3.6 或 3.7Cassandra 3.11.3
但不支持cqlsh,只支持Python 2.7版本。
这是错误信息:

\apache-cassandra-3.11.3\bin\\cqlsh.py", line 146  
    except ImportError, e:  
                      ^  
SyntaxError: invalid syntax  

可能是什么问题?

【问题讨论】:

  • CQLSH只需要python 2.7版本

标签: python-3.x cassandra cqlsh


【解决方案1】:

改变

except a, b:

except a as b:

为打印添加括号

【讨论】:

    【解决方案2】:

    改变: except ImportError, e: 到: except ImportError as ex:
    except ImportError:

    【讨论】:

      【解决方案3】:

      Cqlsh 是用 Py2.7 编写的,因此它不会建立在 py3 包装器 env 上。即使您更改异常行,它也不会编译。例如,采取这一行:

      File "/home/usr/.local/bin/cqlsh", line 212
          print '\nWarning: Specified cqlshrc location `%s` does not exist.  Using `%s` instead.\n' % (CONFIG_FILE, HISTORY_DIR)
                                                                                                  ^
      SyntaxError: invalid syntax
      

      可选解决方案:

      • 使用 sudo-alternatives 降级您的 python 版本(使用 update-alternatives --list python 检查版本)
      • 更正整个文件(不可行)
      • 通过 datastax 或类似的驱动程序和查询连接。

      【讨论】:

        【解决方案4】:

        如果你有两个版本,请将 Python2.7 设置为主版本。您可以使用命令python -V 检查主体版本。然后使用此命令sudo ln -sf /usr/bin/python3.6 /usr/bin/python 进行更改(使用您的路径 python 3x 和 2x)。使用python -V 检查是否正常。再次拨打$cqlsh

        Ps.:如有必要检查cqlsh文件,如果标题正确。如果是#!/usr/bin/python3,则修复为#!/usr/bin/python。您可以使用$find / -name cqlsh查找文件。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-10-05
          • 1970-01-01
          • 2021-11-15
          • 1970-01-01
          • 2018-01-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多