虚拟机和 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'
在 Ubuntu 22 上,使用 Python 3.10,我需要设置 VPN 连接并分析来自 VPN 服务器的响应。我这样做如下:connect_command = ['ip', 'netns', 'exec', 'vpn_test_namespace', '
在 Ubuntu 22 上,使用 Python 3.10,我需要建立 VPN 连接并分析来自 VPN 服务器的响应。我按如下方式执行此操作:
connect_command = ['ip', 'netns', 'exec', 'vpn_test_namespace', 'ipsec', 'up', 'vpn_test_config']
connect_process = subprocess.Popen(connect_command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
connect_output, connect_error = connect_process.communicate()
但是,该过程不会等待完成,并且communicate()会立即执行。因此,connect_output和connect_error为空。如果我添加一个暂停:
connect_command = ['ip', 'netns', 'exec', 'vpn_test_namespace', 'ipsec', 'up', 'vpn_test_config']
connect_process = subprocess.Popen(connect_command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
time.sleep(3)
connect_output, connect_error = connect_process.communicate()
或者使用断点等待,然后一切正常,我可以看到结果。我做错了什么?
我尝试了 StackOverflow 或 Google 上推荐的各种方法,例如 call()、check_call()、wait()、run(),但无法达到让脚本等待进程完成的预期结果。