seafile 旧版本升级新版本时python库引用报错

现象

使用seafile时表面上是正常的,但是将分享出去的md文档,别人查看时,查看不到图片内容,文字内容没问题

解决

后台查看了下日志

seafile_api.get_file_id_by_path(repo_id, urllib2.unquote(image_path)) NameError: name 'urllib2' is not defined

出现了这么一条关键日志

后来查阅资料得知,urllib2是python2.*版本中使用的.在python3之后就和urllib库,合并为一个urllib库.使用方法上也有所该边.

出错的代码

import urllib2.parse
import urllib2


#1981行
    obj_id = seafile_api.get_file_id_by_path(repo_id, urllib2.unquote(image_path))

改正后的代码

import urllib.parse

#1981
    obj_id = seafile_api.get_file_id_by_path(repo_id, urllib.request.unquote(image_path))
#该库的具体使用方法也发生了改变
#后来研究了下这里代码的用途,大概意思是将图像路径解码.然后进行映射访问,所以导致用户使用就会分享出去的md文档不能查看到图片,因为这里的图像路径后台没有解析出来

最后

./seafile-server-7.1.4/seahub.sh restart
#重启seahub即可
原文地址:https://www.cnblogs.com/jojoword/p/13547714.html