deja-dup: __init __ () leva exatamente 4 argumentos (3 dados)

1

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.

    
por imyxh 28.01.2018 / 02:43

1 resposta

0

Aparentemente, eu tinha o módulo 0.7.14 do Duplicity Python e o pacote aptitude 0.7.12. Eu usei sudo pip uninistall duplicity , seguido por sudo aptitude reinstall duplicity e o problema foi resolvido.

Eu acho que não deveria atualizar todos os meus módulos Python de uma só vez.

    
por imyxh 28.01.2018 / 19:42