掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 904|回复: 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 编辑
    4 L" f) v$ S0 s  ]/ Q5 c, N% O' v* P3 i
    参考github调整fastWQ,在插件的dict文件夹加入LDOCE5.py和TLD.py文件,改写了路径。然后一打开anki就报错,如下:. M! v3 E; z& K4 @" Y
    “错误 - w! ^3 v3 Z! ~0 ]
    有一个错误发生了.请在按住shift键的同时启动Anki,这样可以临时的禁用您已经安装的插件。
    9 `1 `  p  M$ _& v: v; v  T如果仅仅是因为插件引起的问题,请选择工具>插件菜单项来将出错的的插件设置成失效,然后重启Anki,重复以上的步骤直到你发现了具体是哪个插件引起的问题。 . c8 ]' A, C& J" }! ^* h* Z. _
    当你已经发现是因为插件引起的问题,请在我们的支持网站上 [插件支持](https://help.ankiweb.net/discussions/add-ons/) 上报告问题。
    5 D# f. P! g# }" u( b; d调试信息:
    " `6 b8 C5 y5 fAnki 2.1.35 (84dcaa86) Python 3.8.0 Qt 5.14.2 PyQt 5.14.2/ e/ F; h$ T3 |  ], H
    Platform: Windows 100 A/ {" A  j; l9 W
    Flags: frz=True ao=True sv=20 T( R! G: m$ ]; X& |* X" C
    Add-ons, last update check: 2023-08-14 02:35:390 L! E2 ~- E& A% i; ~8 j$ N
    , k  R) `1 f! F& W7 Z- @6 l/ x& {1 |
    Caught exception:
    5 t1 {# m& r( I7 p; OTraceback (most recent call last):% C0 B/ B; V  B( C
      File "aqt\progress.py", line 53, in handler0 J; H3 u4 [0 V: j  `5 u
      File "aqt\main.py", line 142, in on_window_init
    . F" H* p; H/ S2 }: \) C( k5 S% |8 P8 [  File "aqt\main.py", line 190, in setupProfileAfterWebviewsLoaded  K% n( H3 g4 b& i
      File "aqt\main.py", line 231, in setupProfile
    ) R" k; b, o  Y, b, S6 I  File "aqt\main.py", line 427, in loadProfile) L* r3 b2 D" g) o
      File "aqt\gui_hooks.py", line 2033, in __call__
    ; v3 U: S# {( P6 d  File "anki\hooks.py", line 583, in runHook
    ) C! F& w& G0 v0 m& {  f& @  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\__init__.py", line 37, in start_here
    . t3 `6 ?+ S8 _    from . import common as fastwq
    6 z" y8 z! y. Y5 G. a# b  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\common.py", line 29, in <module>8 u- s! U) Z# `. q- n3 b
        from .gui import show_about_dialog, show_options  # , check_updates- z3 J) l. [1 s$ m- D- I4 z
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\gui\__init__.py", line 3, in <module>
    ( N6 v; M+ H% g& \, o" w    from .common import *
    9 c$ I' J. Y2 q" v8 x4 }$ z2 k  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\gui\common.py", line 28, in <module>
    & a& I* B. o8 G: n& q; ?  ]    from ..service import service_manager, service_pool$ [: R8 g' G- o6 t
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\__init__.py", line 24, in <module>
    , F* C3 {% T/ X3 o9 I& U$ Y$ X    service_manager = ServiceManager()                             # Service Manager
    2 k1 c. {0 s' U  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 35, in __init__
    # n# p: z5 ^$ _8 z" _    self.update_services()( L  y: Q: M; i( `" G
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 43, in update_services
    # V4 w. P4 \' V! k' y: {$ V    self.web_services, self.local_custom_services = self._get_services_from_files()2 M( C/ G  P+ f8 W/ ^
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 78, in _get_services_from_files; C8 i  d( q: A; m; o: u0 Y  W7 q  V5 L* T
        module = importlib.import_module(1 Y9 L8 u6 l9 O
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\utils\importlib.py", line 43, in import_module2 h; F, b. `7 w: G5 e8 p
        __import__(name)( f: {6 A+ A! a
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\dict\LDOCE5.py", line 70 t/ j1 s3 X* Z! e6 e
        <!DOCTYPE html>
      G+ x: X" @* b9 `5 f  T4 q    ^
    $ k4 n: ]" B7 k+ D" A) p0 sSyntaxError: invalid syntax”
    - ?& G/ \7 S! h' I+ X8 J  H3 X4 y$ U9 Y9 _* {
    我现在把LDOCE5.py和TLD.py文件删除,使用fastWQ依然报错用不了了。求大佬看看,小小报酬500米不成敬意+ `$ J$ y0 V$ r+ ]

    . R" }! i( |1 A3 t1 M. \----------------------------! D# ^: _2 u: Z) D3 P$ C. o
    ! P" e. D2 d' O8 W: y
    8.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 | 显示全部楼层
    我也碰到过类似的问题,苦于自己不懂编程,只能用最笨的办法
    " B" D7 h' I1 i7 @5 h: ^4 f4 T) [我的经验是插件里面的哪些.py文件都保持原样不做任何改动,然后重新复制一份进行修改,再放到这个文件夹里面就可以识别,不会报错
    * N1 i: t3 |/ C另外,我觉得你用的这个插件都是四年前了,有点久,我用的是论坛修改过的版本,放.py文件的位置都不一样

    评分

    1

    查看全部评分

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

    [LV.5]常住居民I

     楼主| 发表于 2023-8-19 21:17:25 | 显示全部楼层
    zgzzx10 发表于 2023-8-16 14:546 [6 k1 X) G; [5 p8 t, `
    我也碰到过类似的问题,苦于自己不懂编程,只能用最笨的办法
    $ z; Z5 g! c) E1 r8 m8 W! O我的经验是插件里面的哪些.py文件都保持原样不 ...
    + |# I; s% n8 E3 R" \" ~+ ~, v2 j' u
    感谢回复,我去下了论坛里的这个修改版fastWQ,最后还是放弃改py文件了,直接用the little dict前身早期版本了

    该用户从未签到

    发表于 2023-8-20 14:18:17 | 显示全部楼层
    这种问题可能比较复杂,看最下面是:: _9 `$ t+ E- U9 z
    File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\dict\LDOCE5.py", line 7* Z2 A6 W2 i7 p1 r1 s+ o
      F+ c- d) \- p$ Q' P$ @4 O* J    <!DOCTYPE html>
    2 E+ e: s# S8 n  h( p    ^4 y3 c+ {+ g% z7 r4 F6 i6 f1 I% Q" m* E) K2 @3 ]
    SyntaxError: invalid syntax
    0 i8 R, m; I1 f. m9 q9 e+ b) z8 ?6 a- C+ U
    所以是 LDOCE5.py", line 7,这个文件有问题,应该是你下载的不对。
    " E+ s, \: z. e5 c# q, W
    ( C9 k- x( X8 W1 ^& T3 @“而且我不想要TLD最下面的释义部分”,0 z) S4 z! i& s1 [& W+ Z' t" z1 e
    修改TLD.py的 代码:
    ) v- v; \; w" M- }' o: I$ _; d    @export('Chinese_def'). H4 H* o7 W( k; n! S: _& j; Y
        def chinese_def(self):
    % }1 ]9 S( g. h        m = re.findall(r'<div class="\s*.*<\/div>', self.get_html_all())  A$ ^8 h# I1 ?* O1 n% x) a6 w
            if m:
    4 [% r" z7 C& n1 h& `            soup = parse_html(m[0])/ y) l% ~: k8 g$ u+ A
    2 r& s9 E: M  b
                el_list = soup.findAll('div', {'class':'coca2'})
    5 n1 {2 w% @7 ^/ g5 s$ V  H            def_distribution = ''2 C9 y' u, M% H1 B/ r9 M
                if el_list:# O: r8 T) }7 L8 I' \
                    def_distribution = str(el_list[0])
    5 ]9 D& l$ K) R            el_list = soup.findAll('div', {'class':'gdc'}) 这里就是释义/ N3 @' ?' N+ t; ^: d1 z5 T* r
                cn_def = ''
    % J, n3 z& @+ ~            if el_list:
    & B- V9 a. W- N& F& ~* ]                #cn_def = str(el_list[0]) 所以就删掉这一行,应该就可以了;或者在前面加 #,表示注释掉  这一行! [( ?' c/ `+ I! G
                    return def_distribution + cn_def0 b1 Q. }3 R' I6 ]* h
            return ''
    $ G! i+ X( q0 Q1 L5 J) `. s

    该用户从未签到

    发表于 2023-8-20 14:43:44 | 显示全部楼层
    “而且我不想要TLD最下面的释义部分”,
    5 x: n: h7 i) K/ Z, q, O或者另一个思路吧,在anki中改 css,让释义的部分不显示,就是在 anki 模板 styling 中,找到 类似:
    8 @3 R; j1 \; P+ u9 s3 ]  T.gdc {
    " q' h4 i* F- j3 `9 t0 g) ]) vdisplay: none;   /* 加上这行即可  */
    . ^9 r# K1 K. |( a}

    评分

    1

    查看全部评分

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

    [LV.1]初来乍到

    发表于 2023-8-20 18:42:24 | 显示全部楼层
    已经有新版FastQuery了2 X0 _0 z1 A( d. [. Q' C2 o) T% C
    + }- ]& J/ Z- h( ^
    https://ankiweb.net/shared/info/103636257
    * I; E' H, D+ u; d% b  C) ahttps://github.com/sirius-fan/FastWordQuery
    $ e' r2 k" l7 P4 V9 _# I+ v% q
    , w/ J5 T0 W8 j3 ?  H6 M" a! C目前使用正常,就是有些辞典还不能正常使用。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-4-29 04:30 , Processed in 0.129058 second(s), 12 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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