虚拟机和 docker 对我的应用程序来说并不实用,因为我需要能够定期在本地保存 Cassandra 数据库(增量备份是正确的)有没有人有工作......
虚拟机和 docker 对我的应用程序来说不实用,因为我需要能够定期在本地保存 Cassandra 数据库(增量备份才是真正的)
当 Ubuntu 内核安装了 3.12 时,是否有人有降级到 Python 3.11 的解决方法?当我尝试降级时(即使我尝试完全卸载),有几个未满足的依赖项,因此我尝试执行快速而肮脏的 sudo ln -sf /usr/bin/python3.9 /usr/bin/python3(我也尝试使用 usr/bin/python3.11 /usr/bin/python3),但在尝试启动 cqlsh 时仅收到 \'未找到合适的 Python 解释器。\' 错误。
到目前为止,似乎唯一的选择是完全重新安装内核,并在重新安装 Cassandra 之前以某种方式指定 Python 3.11。这将非常繁琐,尤其是如果它不能保证 Cassandra 将在本地运行。还有其他解决方法吗?
$:/apache-cassandra-4.1.5$ sudo ls /usr/bin/python*
/usr/bin/python3 /usr/bin/python3.12
$:/apache-cassandra-4.1.5$ sudo ln -sf /usr/bin/python3.9 /usr/bin/python3
$:/apache-cassandra-4.1.5$ sudo bin/cqlsh
No appropriate Python interpreter found.
$:/apache-cassandra-4.1.5$ sudo ln -sf /usr/bin/python3.11 /usr/bin/python3
$:/apache-cassandra-4.1.5$ sudo bin/cqlsh
No appropriate Python interpreter found.
$:/apache-cassandra-4.1.5$ sudo ln -sf /usr/bin/python3.12 /usr/bin/python3
$:/apache-cassandra-4.1.5$ sudo bin/cqlsh
Traceback (most recent call last):
File "/apache-cassandra-4.1.5/bin/cqlsh.py", line 134, in <module>
from cassandra.cluster import Cluster
File "/apache-cassandra-4.1.5/bin/../lib/cassandra-driver-internal-only-3.25.0.zip/cassandra-driver-3.25.0/cassandra/cluster.py", line 33, in <module>
ModuleNotFoundError: No module named 'six.moves'
这是 Python 3.12 的一个已知问题,会影响很多软件。Python 似乎在小补丁版本中引入了重大更改,Apache Cassandra 只是其中一个受影响的软件。
该 six
模块提供了一个兼容层,允许代码同时适用于 Python 2 和 Python 3,但似乎在 Python 3.12 中出现了问题。如果你在网上粗略搜索一下,就会发现很多其他软件遇到相同问题的报告。
在安装了 Python 3.11 的 virtualenv
virtualenv
对于任何感兴趣的人,Cassandra 项目正在 CASSANDRA-19206 。干杯!