B2 Backblaze 中的 Duplicity 问题

B2 Backblaze 中的 Duplicity 问题

运行 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 了 :-)

相关内容