与 B2 Backblaze 问题的两面性

Edd*_*die 3 backup duplicity python-2.7 python3 18.04

运行 18.04LTS

我已经安装了 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)
Run Code Online (Sandbox Code Playgroud)

我已经安装了 pip & pip 3 以及通过 pip 安装的 b2 ......就像这样。

pip install b2
pip3 install b2
Run Code Online (Sandbox Code Playgroud)

我最终得到了同样的错误。我想我缺少某种 PIP 依赖​​,但我不知道是什么。

Ave*_*Ave 6

我遇到过这个问题,它是由 b2 包分成两部分( b2 和b2sdk)引起的,而 sdk 部分(二重性依赖)因此更改了它的名称。

最新的 Duplicity 代码库支持旧版本和新版本的库,但旧版本(如 0.7.18.2)不支持。

为我解决这个问题的是用 apt 删除重复性,并用 pip 安装它(我使用 python3 而不是 python2,因为 python2 是 EOL):

sudo apt remove duplicity
sudo apt install build-essential python3-dev gettext librsync-dev
sudo -H pip3 install duplicity
Run Code Online (Sandbox Code Playgroud)

  • 这为我修好了。即使答案中已经提到了,我还是要补充一点,您需要使用“pip3 install b2sdk”安装“b2sdk”(我花了一分钟仔细阅读新的错误消息) (2认同)

小智 4

更新:

我了解到不支持 B2 应用程序密钥。我需要创建一个应用程序密钥。它不包含任何斜杠,我最终得到了这个结果: How to fix Duplicity B2 (Backblaze) error

它说有一个错误已在 0.7.18 中修复。根据回复,这可以在 ppa 中找到。它似乎不在 18.04 的标准存储库中,因为我没有通过 sudo apt update 获得它。


小智 0

我遇到了同样的问题。我取得了一些进展,但尚未完全解决问题。我也在 Ubuntu 18.04 LTS 上运行。口是心非的版本是 0.7.17(直接来自默认存储库)。

在安装 pip 并添加 b2 之前,我确实添加了(apt install)包管理器在安装口是心非时建议的一些其他包。即:python-pexpect、python-urllib3 和 python-oauthlib。

安装这些后,我再次运行口是心非。我不再在 B2 Python API 上收到 BackendException 了。

但是,我遇到了另一条错误消息(另一个问题?):

InvalidBackendURL:语法错误(端口)位于:b2://xxxxxxxx:YYYYY/yyy@hv-homes/ AFalse BNone xxxxxxxxx:YYYYY

也许值得一提的是,我的应用程序密钥包含“/”,并且错误消息会重复它,直到出现“/”符号。我不知道这个错误是否与同一个 B2 API 相关还是其他原因。至少我不再请求安装 b2 :-)