在我将 Ubuntu 20.04 笔记本电脑从 python3.8 升级到 python 3.11 后,Openvpn3 停止工作
我收到此错误:
openvpn3-systemd[9972]: ModuleNotFoundError: No module named '_dbus_bindings'
我发现它import dbus
适用于 python3.8,但不适用于 python3.11
我尝试通过将默认系统 python 改回 3.8 来使 openvpn3 正常工作
sudo update-alternatives --config python
我还验证了当我在命令行中使用 python 时,它会找到 dbus,
python -c 'import dbus'
重新启动服务仍然失败并出现相同错误。我编辑了文件/usr/libexec/openvpn3-linux/openvpn3-systemd
,以便在尝试使用文件顶部的以下两行导入 dbus 之前打印 python 版本:
import sys
print ('openvpn3-python-version-used: ' + sys.version)
我看到它使用的是 python3.11
我如何更改服务文件以强制它使用旧版本的 python3.8?/lib/systemd/system/[email protected]
当前服务文件:
[Unit]
Description=OpenVPN 3 Linux - VPN session for %I
After=dbus.service network-online.target
Wants=dbus.service network-online.target
Documentation=man:openvpn3-linux(7)
Documentation=man:openvpn3-systemd(7)
[Service]
Type=notify
PrivateTmp=true
ProtectSystem=true
ProtectHome=true
Environment="PYTHONUNBUFFERED=on"
ExecStart=/usr/libexec/openvpn3-linux/openvpn3-systemd --start %i
ExecReload=/usr/libexec/openvpn3-linux/openvpn3-systemd --restart %i
ExecStop=/usr/libexec/openvpn3-linux/openvpn3-systemd --stop %i
[Install]
WantedBy=multi-user.target