我花了几个小时试图配置双面性来执行对Google的自动远程备份。在这一点上,可以肯定地说,我是在我自己的私人依赖地狱。
使用我的发行版(0.6.x)附带的欺骗性版本,我得到了一个错误:
BackendException: Google后端需要Google、Python (参见http://code.google.com/p/gdata-python-client/)。
尽管我已经安装了Google客户端。因此,我决定尝试升级欺骗,但失败了:
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c duplicity/_librsyncmodule.c -o build/temp.linux-x86_64-2.7/duplicity/_librsyncmodule.o
duplicity/_librsyncmodule.c:26:22: fatal error: librsync.h: No such file or directory
#include <librsync.h>
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1因此,我决定尝试将librsync升级到最新的稳定版本(2.0)。在与依赖关系进行了斗争之后,我终于将librsync和duplicity更新到了它们最新的稳定版本。
因此,当我使用duplicity --version对升级版的“欺骗”进行修改时,我立即得到了这个错误:
Traceback (most recent call last):
File "/usr/local/bin/duplicity", line 71, in <module>
from duplicity import collections
File "/usr/local/lib/python2.7/dist-packages/duplicity/collections.py", line 32, in <module>
from duplicity import path
File "/usr/local/lib/python2.7/dist-packages/duplicity/path.py", line 43, in <module>
from duplicity import librsync
File "/usr/local/lib/python2.7/dist-packages/duplicity/librsync.py", line 30, in <module>
from . import _librsync
ImportError: librsync.so.2: cannot open shared object file: No such file or directory发布于 2017-04-17 11:12:10
然后得到librsync.h
sudo apt-get install python-dev
sudo apt-get install librsync-dev 为我工作。
发布于 2016-10-07 02:59:22
我能够通过将共享对象librsync.so.2的路径添加到LD_LIBRARY_PATH来解决这个问题。在Ubuntu中,这必须使用ldconfig来完成:
sudo nano /etc/ld.so.conf.d/librsync.so.2.conf
/usr/local/lib现在必须重新加载Ubuntu的ldconfig缓存:
sudo ldconfig
发布于 2017-11-12 00:26:15
史密斯先生和阿莱克斯的答案在这里都是正确的,但两者结合在一起。我在Ubuntu16.04LTS上使用pip从重复0.7.6升级到0.7.14,我收到了一个相同的错误。我做了些什么来修复它们:
/usr/local/lib添加到该文件中的一行。ldconfig缓存: sudohttps://serverfault.com/questions/807554
复制相似问题