掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 968|回复: 5

[使用求助] 已解决|anki试图调整fastWordQuery获取the little dict部分内容失败

[复制链接]
  • TA的每日心情
    慵懒
    2023-12-11 22:15
  • 签到天数: 53 天

    [LV.5]常住居民I

    发表于 2023-8-15 00:49:19 | 显示全部楼层 |阅读模式
    本帖最后由 Eleeeanor 于 2023-8-19 21:12 编辑
    ) o" w& O* ^( [! M8 K! x# I( z" Q+ Q1 ^' T/ V& q
    参考github调整fastWQ,在插件的dict文件夹加入LDOCE5.py和TLD.py文件,改写了路径。然后一打开anki就报错,如下:. t5 q. I6 E) k4 v7 V4 u! t
    “错误
    ' T! z: `& d9 Q2 `3 b有一个错误发生了.请在按住shift键的同时启动Anki,这样可以临时的禁用您已经安装的插件。
    4 W, J% I3 V0 o4 n如果仅仅是因为插件引起的问题,请选择工具>插件菜单项来将出错的的插件设置成失效,然后重启Anki,重复以上的步骤直到你发现了具体是哪个插件引起的问题。
    ' T- L# P% a) y/ P* n4 O4 Z0 K当你已经发现是因为插件引起的问题,请在我们的支持网站上 [插件支持](https://help.ankiweb.net/discussions/add-ons/) 上报告问题。
    4 f0 y$ Z0 m, i$ ?2 O* n& M调试信息:5 \+ K% f6 u, Y, s2 M% |% B) O4 e! f
    Anki 2.1.35 (84dcaa86) Python 3.8.0 Qt 5.14.2 PyQt 5.14.21 {( w* }/ y" Q+ h: _0 {' p
    Platform: Windows 10
    . U% w& z2 z# P/ l2 KFlags: frz=True ao=True sv=2/ g) k& ^! ?5 [; R) [, p
    Add-ons, last update check: 2023-08-14 02:35:39
    ( @; a4 ~$ y4 T) J0 V8 T  Y: p7 y& ~/ H$ c* J, L# l" [# v
    Caught exception:
    , y) R. k; h6 ^; }Traceback (most recent call last):
    ( s2 C2 w4 B5 _/ c# q5 ]7 {  File "aqt\progress.py", line 53, in handler( Q8 r4 C4 d+ h0 x
      File "aqt\main.py", line 142, in on_window_init
    * \% U" X: h$ C) A  G$ r  File "aqt\main.py", line 190, in setupProfileAfterWebviewsLoaded' k! Q6 `# i% ^
      File "aqt\main.py", line 231, in setupProfile- A! y/ a* f' b; Q
      File "aqt\main.py", line 427, in loadProfile
    # B' K* D5 Z% U. \8 o  File "aqt\gui_hooks.py", line 2033, in __call__
    " R: b- R  j: W- `7 Z- T% U  i* q  File "anki\hooks.py", line 583, in runHook
    # H1 T" ^6 e! m6 I' s, t; |! n) g0 y* [  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\__init__.py", line 37, in start_here! @7 h5 C5 C' V2 T0 q' s
        from . import common as fastwq2 D2 k& a) p% A5 T2 F7 Y7 Z
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\common.py", line 29, in <module>  e5 O9 j5 g6 y# l
        from .gui import show_about_dialog, show_options  # , check_updates% X7 j' g2 f0 h& P; v7 Z6 k, C
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\gui\__init__.py", line 3, in <module>
    / }# u3 a" x1 g" O3 d; d5 u: E4 e- q    from .common import *0 n' K1 F# c( U7 E& g! |9 W) T& W! \
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\gui\common.py", line 28, in <module>
    4 R! a/ F4 W/ r% a' A9 d    from ..service import service_manager, service_pool
    9 \* U. H1 r3 ~6 _  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\__init__.py", line 24, in <module>
    / K' I' f; M5 _0 P    service_manager = ServiceManager()                             # Service Manager9 s7 H, ?) P/ x( d& w9 n
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 35, in __init__
    % _8 n6 `; ?0 S3 P% w3 f" @    self.update_services()$ v: N- P" C4 b7 |
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 43, in update_services
    ! G& U* D4 m8 u9 O    self.web_services, self.local_custom_services = self._get_services_from_files()
    $ Z; E5 q$ ?* ]" x  c  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 78, in _get_services_from_files
    8 f  e$ k( Q6 r6 ]9 f0 x    module = importlib.import_module(
    . V1 B+ n$ Q3 c7 N' n6 z9 Y  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\utils\importlib.py", line 43, in import_module
    8 p9 h# Q2 a" L0 {    __import__(name)9 H$ f# a( L4 ~
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\dict\LDOCE5.py", line 7
    + d; o) ~, V& @- t7 H- |' {, M. e    <!DOCTYPE html>6 e8 ?, ~( E6 H; C) e
        ^3 k3 N0 q, o# K+ a' h
    SyntaxError: invalid syntax”
    / _6 ?# h2 \8 A/ B  q3 l; e$ ~8 K( s: e3 D6 L9 c. g
    我现在把LDOCE5.py和TLD.py文件删除,使用fastWQ依然报错用不了了。求大佬看看,小小报酬500米不成敬意. k' ]2 F' s$ A! @

    6 t3 A4 P7 s9 ^* |# z, ?0 R* f----------------------------! @8 f. d, m% O

      f+ h, _) O8 r! n0 h4 d8.19更新 其实一开始的问题是用fast WQ查询了TLD但是卡片里总是不显示,应该是config.ini造成的,我也不知道怎么改。而且我不想要TLD最下面的释义部分。目前的解决方式是下载了the little dict的前身早期版本没有释义和音频,wordfrequency词频词典,直接用fast WQ查询。
  • TA的每日心情
    慵懒
    2023-5-22 13:56
  • 签到天数: 542 天

    [LV.9]以坛为家II

    发表于 2023-8-16 14:54:59 | 显示全部楼层
    我也碰到过类似的问题,苦于自己不懂编程,只能用最笨的办法3 I4 ^, N( h3 \+ w0 M" z
    我的经验是插件里面的哪些.py文件都保持原样不做任何改动,然后重新复制一份进行修改,再放到这个文件夹里面就可以识别,不会报错
    ' G8 `: V. c" z: H% ?2 n% f另外,我觉得你用的这个插件都是四年前了,有点久,我用的是论坛修改过的版本,放.py文件的位置都不一样

    评分

    1

    查看全部评分

  • TA的每日心情
    慵懒
    2023-12-11 22:15
  • 签到天数: 53 天

    [LV.5]常住居民I

     楼主| 发表于 2023-8-19 21:17:25 | 显示全部楼层
    zgzzx10 发表于 2023-8-16 14:54
    2 f3 U% q( h% \4 Y2 Z2 O我也碰到过类似的问题,苦于自己不懂编程,只能用最笨的办法
    - w- E9 v) J: I# g5 k( _我的经验是插件里面的哪些.py文件都保持原样不 ...

    " s* s& h: c: o5 J感谢回复,我去下了论坛里的这个修改版fastWQ,最后还是放弃改py文件了,直接用the little dict前身早期版本了

    该用户从未签到

    发表于 2023-8-20 14:18:17 | 显示全部楼层
    这种问题可能比较复杂,看最下面是:0 f6 l7 z3 Z4 k. o1 }" |
    File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\dict\LDOCE5.py", line 7* Z2 A6 W2 i7 p1 r1 s+ o3 v$ n" S2 J( t: w; Z2 l" c
        <!DOCTYPE html>' l5 z7 P* h2 c9 m5 u7 }3 i
        ^4 y3 c+ {+ g% z7 r4 F6 i
    # V5 A2 l/ S* i1 ], U' WSyntaxError: invalid syntax
    3 v9 t( {% Y$ S; b" U
    8 M# v, U4 I" j  J" c所以是 LDOCE5.py", line 7,这个文件有问题,应该是你下载的不对。
    0 {* [! e# m: k9 b2 x8 a9 v& `9 y
    “而且我不想要TLD最下面的释义部分”,; ?5 g. y8 t5 w
    修改TLD.py的 代码:
    ! \6 v) @8 U( z5 R) F$ p% W1 t- n    @export('Chinese_def')
    4 w+ d0 m$ C3 x3 K4 _1 P    def chinese_def(self):
    , K, ?: L- L- l* \/ Y/ ?9 ^' v        m = re.findall(r'<div class="\s*.*<\/div>', self.get_html_all())
    % B! b! H( y8 [  Y0 N        if m:
    " F; ]( L1 Y9 O+ G1 W9 n+ D9 B0 C            soup = parse_html(m[0])0 R* o' E4 g4 Q0 b" |
    5 d" y  N3 Y6 j/ _( C0 f
                el_list = soup.findAll('div', {'class':'coca2'})) o) t9 o, A1 ]% z# G& |/ L
                def_distribution = ''
    , Y- ]8 f2 H& x1 S5 b" p            if el_list:( n. O3 H  a. M8 J3 r
                    def_distribution = str(el_list[0])  K& X) V+ ^( o$ i) d( p) |( p) k
                el_list = soup.findAll('div', {'class':'gdc'}) 这里就是释义  f3 X7 k% ]: M+ u' f" i
                cn_def = ''
    & e* t1 e# p8 V$ Y4 m: u            if el_list:
    & {8 H- w5 p9 P) F                #cn_def = str(el_list[0]) 所以就删掉这一行,应该就可以了;或者在前面加 #,表示注释掉  这一行
    / x: C! l- A+ D" e% ?6 [* ?; g4 ^                return def_distribution + cn_def. ]3 J% z: z6 s9 \3 l
            return ''
    $ D1 z( j2 a$ J( `; i% A; Y

    该用户从未签到

    发表于 2023-8-20 14:43:44 | 显示全部楼层
    “而且我不想要TLD最下面的释义部分”,
    : A0 I! I8 W) e  x或者另一个思路吧,在anki中改 css,让释义的部分不显示,就是在 anki 模板 styling 中,找到 类似:4 l. z4 {% g6 \5 q6 N
    .gdc {
    0 b1 ?4 G  }: j6 Bdisplay: none;   /* 加上这行即可  */9 p' B8 q' P' h7 B8 [" X' M) m
    }

    评分

    1

    查看全部评分

  • TA的每日心情
    开心
    2020-10-31 07:41
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2023-8-20 18:42:24 | 显示全部楼层
    已经有新版FastQuery了( k  X7 |* G1 b9 M9 g3 v9 X

    1 @& p/ a' u* z8 g3 fhttps://ankiweb.net/shared/info/103636257! Y& Y# _1 k% s" Y, M
    https://github.com/sirius-fan/FastWordQuery3 n; M) V# r% L
    " k/ m; t" @3 m3 R; [+ f
    目前使用正常,就是有些辞典还不能正常使用。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2024-5-25 01:19 , Processed in 0.047725 second(s), 12 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

    快速回复 返回顶部 返回列表