运行 18.04LTS
我已经安装了 Duplicity... 它似乎可以工作。我正在运行 duplicity 0.7.18.2。
我已经安装了 B2 命令行工具...它运行正常。
当我尝试运行一个简单的备份时,我得到了以下信息,就像backblaze 网站。
eddie@xxxx:~$ duplicity ~ b2://xxxxxxx:xxxxxxxxxxx@Test-Bucket
BackendException: B2 backend requires B2 Python APIs (pip install b2)
我已经安装了 pip 和 pip 3 以及 b2...就像这样。
pip install b2
pip3 install b2
我最终得到了同样的错误。我猜我缺少某种 PIP 依赖项,但我不知道是什么。
答案1
我遇到过这个问题,这是由于 b2 包分裂成两个部分(b2 和开发工具包),并且 sdk 部分(duplicity 所依赖的)也因此改名。
最新的 duplicity 代码库支持旧版本和新版本的库,但旧版本如0.7.18.2则没有。
对我来说,解决这个问题的方法是使用 apt 删除 duplicity,然后使用 pip 安装它(我使用 python3 而不是 python2,因为 python2 已经 EOL):
sudo apt remove duplicity
sudo apt install build-essential python3-dev gettext librsync-dev
sudo -H pip3 install duplicity
答案2
更新:
我了解到 B2 应用程序密钥不受支持。我需要创建一个掌握而是应用程序键。它不包含任何斜杠,我最终得到了这个结果: 如何修复 Duplicity B2 (Backblaze) 错误
据说 0.7.18 中有一个错误已修复。根据回复,该错误在 ppa 中可用。它似乎不在 18.04 的标准存储库中,因为我没有使用 sudo apt upgrade 获取它。
答案3
有讨论这里就这个问题。他们建议
恢复为 b2sdk==1.7.0,直到 duplicity 0.8.20 发布
pip3 install -U b2sdk==1.7.0
另外在底部,建议通过 apt 安装,即
sudo apt-get install python3-b2sdk
我认为这是向系统 python 添加包的首选选项,如果您通过 pip 安装包,最好将它们安装到虚拟环境中。
答案4
我遇到了同样的问题。我取得了一些进展,但并未完全解决问题。我也在 Ubuntu 18.04 LTS 上运行。duplicity 版本是 0.7.17(直接来自默认存储库)。
在安装 pip 和添加 b2 之前,我确实添加(apt install)了安装 duplicity 时包管理器建议的一些其他包。即:python-pexpect、python-urllib3 和 python-oauthlib。
安装这些后,我再次运行 duplicity。我不再在 B2 Python API 上收到 BackendException。
但是,我遇到另一条错误消息(另一个问题?):
InvalidBackendURL:语法错误(端口):b2://xxxxxxxx:YYYYY/yyy@hv-homes/ AFalse BNone xxxxxxxxx:YYYYY
也许值得一提的是,我的应用程序密钥包含“/”,错误消息会重复出现,直到“/”符号。我不知道这个错误是否与相同的 B2 API 有关,还是其他原因。至少我不再需要安装 b2 了 :-)