No Ubuntu 17.10, o aplicativo Backups falha com este erro:
Traceback (most recent call last):
File "/usr/bin/duplicity", line 1546, in <module>
with_tempdir(main)
File "/usr/bin/duplicity", line 1540, in with_tempdir
fn()
File "/usr/bin/duplicity", line 1391, in main
do_backup(action)
File "/usr/bin/duplicity", line 1416, in do_backup
globals.archive_dir).set_values()
TypeError: __init__() takes exactly 4 arguments (3 given)
Acho que isso pode ser um problema do Python 2/3, mas parece que outros usuários do 17.10 têm o deja-dup funcionando.
Eu tentei reinstalar o deja-dup e a duplicidade, mesmo problema.
Versão de duplicidade: 0.7.12-1ubuntu1
Versão Deja-dup: 36.3-0ubuntu0.1
Edições:
Suspeitei que, por algum motivo, a Duplicity não estava passando self
para a turma, mas no código a linha incorreta é:
col_stats = collections.CollectionsStatus(globals.backend,
globals.archive_dir).set_values()
Significa que provavelmente não é um erro de versão do Python porque ele realmente passou três argumentos para a classe.
Agora, na classe CollectionsStatus
, a ajuda diz:
Help on class CollectionsStatus in module duplicity.collections:
class CollectionsStatus
| Hold information about available chains and sets
|
| Methods defined here:
|
| __init__(self, backend, archive_dir, action)
| Make new object. Does not set values
Significa que definitivamente deve passar 4 argumentos, incluindo self
.
Tenho a sensação de que sei o que está errado. Eu costumo usar um script para atualizar todos os meus módulos Python, então eu aposto que a classe foi alterada em algum lugar ao longo da linha e as versões do Duplicity (o shell script) e seu módulo Python são incompatíveis.