掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 953|回复: 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 _' m- Z: A) |9 S8 Q3 v. W
    5 j" i' s( w$ e, A) o- N参考github调整fastWQ,在插件的dict文件夹加入LDOCE5.py和TLD.py文件,改写了路径。然后一打开anki就报错,如下:
    ! E0 o& {: Q3 l' m8 U& b. Y“错误
    1 C8 Z& x5 }3 I& l  b* d6 B有一个错误发生了.请在按住shift键的同时启动Anki,这样可以临时的禁用您已经安装的插件。 % X. P, a$ y2 v; x* E
    如果仅仅是因为插件引起的问题,请选择工具>插件菜单项来将出错的的插件设置成失效,然后重启Anki,重复以上的步骤直到你发现了具体是哪个插件引起的问题。
    ; ~$ F" B$ u$ m当你已经发现是因为插件引起的问题,请在我们的支持网站上 [插件支持](https://help.ankiweb.net/discussions/add-ons/) 上报告问题。
    ; a! q2 E5 Y1 u8 u& f: N$ h% M调试信息:* e" s/ I' L8 c! g9 h- d
    Anki 2.1.35 (84dcaa86) Python 3.8.0 Qt 5.14.2 PyQt 5.14.2/ _1 S+ E& u2 ?6 R; q
    Platform: Windows 10
    8 g+ m4 c, O9 i5 P" {3 oFlags: frz=True ao=True sv=2
    6 H% f% ?& S" p- o2 d0 f9 LAdd-ons, last update check: 2023-08-14 02:35:39
    ) Z3 Q0 H; Q. p7 ^1 b* Z* X# Y  w! B$ q) }; c
    Caught exception:$ q3 ?+ C2 D: w8 E2 O9 Z2 z6 \
    Traceback (most recent call last):7 Y- D" [! n, J0 E/ n
      File "aqt\progress.py", line 53, in handler% E2 o* H1 V- R& c
      File "aqt\main.py", line 142, in on_window_init7 l1 ]1 }4 j2 f: W, i8 `
      File "aqt\main.py", line 190, in setupProfileAfterWebviewsLoaded
    & c6 u% f' @, O2 r* Y8 @  File "aqt\main.py", line 231, in setupProfile
    & ^  [2 @9 c6 }* Q  File "aqt\main.py", line 427, in loadProfile
    1 L5 b' z2 D; Q  File "aqt\gui_hooks.py", line 2033, in __call__0 ]" V0 f7 E" C- S/ X/ v2 s+ o
      File "anki\hooks.py", line 583, in runHook
    . d! R2 Q/ _; j: n: t  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\__init__.py", line 37, in start_here
    * E5 v: l' T9 j. q1 {4 W$ A    from . import common as fastwq8 w# m+ C6 d" q) h
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\common.py", line 29, in <module>. {) z4 r- L+ H* k1 U! y$ h
        from .gui import show_about_dialog, show_options  # , check_updates, v7 N. E& a# h- ]. j% Y* ^
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\gui\__init__.py", line 3, in <module>' V( X# l/ O. o, N8 c
        from .common import *
    $ w! g( |9 h; [! s  k  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\gui\common.py", line 28, in <module>
    ( Y$ U3 `% U) X0 J4 s. U    from ..service import service_manager, service_pool' M1 y6 b2 e( M5 K! \  Q4 O0 n
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\__init__.py", line 24, in <module>$ J9 w  h3 Z3 |( l. u
        service_manager = ServiceManager()                             # Service Manager+ I, k) @$ |. @5 ~+ v5 r
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 35, in __init__
    9 A* S) |3 h  l$ r6 m$ J    self.update_services()) G5 T7 r: P3 [- T3 d
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 43, in update_services$ m7 T. N9 e; O. f7 X1 Y
        self.web_services, self.local_custom_services = self._get_services_from_files()* b1 p- I. s& U7 Y8 S
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 78, in _get_services_from_files7 ~( E* [6 H$ i; Z- `% }
        module = importlib.import_module(2 c% h' w& E% k( p
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\utils\importlib.py", line 43, in import_module
    5 e  L* q* @, j- X/ V% C. N    __import__(name)* \* V4 O& y# h% z# h! O! e
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\dict\LDOCE5.py", line 75 K& Z* D" @7 l0 o; u
        <!DOCTYPE html>1 G, `: k% e: J, F+ T
        ^3 x. `! b  F  K6 s  o
    SyntaxError: invalid syntax”" [; v4 x/ C9 |0 V) S- @- O/ i, d0 r

    & h! k5 g  F2 f+ e! y5 P; }我现在把LDOCE5.py和TLD.py文件删除,使用fastWQ依然报错用不了了。求大佬看看,小小报酬500米不成敬意& J/ b: `1 a# D4 X3 X/ t$ U

    % E0 H9 L/ |1 F& M----------------------------
    4 c* `' N# ]9 X5 G
    ( k9 ^( A$ {: ]: F6 ?. a8.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 | 显示全部楼层
    我也碰到过类似的问题,苦于自己不懂编程,只能用最笨的办法, p0 a0 }" U0 u
    我的经验是插件里面的哪些.py文件都保持原样不做任何改动,然后重新复制一份进行修改,再放到这个文件夹里面就可以识别,不会报错$ o( _9 h' o& Y! T' [
    另外,我觉得你用的这个插件都是四年前了,有点久,我用的是论坛修改过的版本,放.py文件的位置都不一样

    评分

    1

    查看全部评分

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

    [LV.5]常住居民I

     楼主| 发表于 2023-8-19 21:17:25 | 显示全部楼层
    zgzzx10 发表于 2023-8-16 14:54# i5 F, N. x3 P9 q: H( X
    我也碰到过类似的问题,苦于自己不懂编程,只能用最笨的办法
    " Q# r6 D, z) A6 p) E- ~* b3 C9 U我的经验是插件里面的哪些.py文件都保持原样不 ...

    / i! f$ [! p( b, B: v& t, |感谢回复,我去下了论坛里的这个修改版fastWQ,最后还是放弃改py文件了,直接用the little dict前身早期版本了

    该用户从未签到

    发表于 2023-8-20 14:18:17 | 显示全部楼层
    这种问题可能比较复杂,看最下面是:
    9 l" E& C1 q8 I7 r- \- z: sFile "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\dict\LDOCE5.py", line 7* Z2 A6 W2 i7 p1 r1 s+ o
    - {2 T- j. E' t    <!DOCTYPE html>" B% X8 X5 L# ]: K/ f( @. b
        ^4 y3 c+ {+ g% z7 r4 F6 i
    1 ^: H' ~+ `6 w! h" U6 qSyntaxError: invalid syntax" D$ n" b1 M7 U4 |
    2 }! @! J3 v4 y) [& ?: k( I" s
    所以是 LDOCE5.py", line 7,这个文件有问题,应该是你下载的不对。5 Z; Y6 ~5 h' M" R% i. w
    * p# F! s! L6 M! H
    “而且我不想要TLD最下面的释义部分”,0 B- b7 g2 b5 m
    修改TLD.py的 代码:& X' D( c' M9 N! @4 I/ P" N' R% ~# W
        @export('Chinese_def')" e4 [' ^% @9 y4 u* i9 Y
        def chinese_def(self):
    & w# }" P9 U) P# q        m = re.findall(r'<div class="\s*.*<\/div>', self.get_html_all())7 `5 J  ^: a, j. J
            if m:
    9 G8 D6 I* z* A6 z1 d) l            soup = parse_html(m[0])6 ~0 o9 z+ a( ?) k% ]0 _
    # K3 t6 o" K" d1 Z* t
                el_list = soup.findAll('div', {'class':'coca2'})
    ; z% S/ b) k, q- J9 n7 H4 L            def_distribution = ''2 K5 w- K$ ^' b3 g5 a
                if el_list:
    & |: u6 N$ X  j                def_distribution = str(el_list[0])
    $ C, d: q; a( ?3 y! k$ X            el_list = soup.findAll('div', {'class':'gdc'}) 这里就是释义
    / V- ?1 c/ {# O6 f            cn_def = ''6 Q" y' D* {& g; m
                if el_list:  w  ~" j2 z% _
                    #cn_def = str(el_list[0]) 所以就删掉这一行,应该就可以了;或者在前面加 #,表示注释掉  这一行
    7 f3 A- q% B2 t  A                return def_distribution + cn_def
    ( E  `  B8 Y% C6 P9 D        return ''% T; i- b$ T7 Q

    该用户从未签到

    发表于 2023-8-20 14:43:44 | 显示全部楼层
    “而且我不想要TLD最下面的释义部分”,  L. l7 J$ n1 }0 f& ~
    或者另一个思路吧,在anki中改 css,让释义的部分不显示,就是在 anki 模板 styling 中,找到 类似:4 h( ]& M/ o! C4 e" f# `  V. N1 O1 e
    .gdc {
    / ]' ^  O$ X3 O3 s  D  W' f: ]display: none;   /* 加上这行即可  */
    7 T  {% D  \( ^}

    评分

    1

    查看全部评分

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

    [LV.1]初来乍到

    发表于 2023-8-20 18:42:24 | 显示全部楼层
    已经有新版FastQuery了
    8 J7 o  X) `& l7 A+ ^% b2 r4 B. Q! J1 f
    https://ankiweb.net/shared/info/103636257: ^; |! K  w) K6 Y
    https://github.com/sirius-fan/FastWordQuery7 M4 L6 Q' H0 N
    . N0 T# k* j0 r, o
    目前使用正常,就是有些辞典还不能正常使用。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-5-12 19:28 , Processed in 0.059989 second(s), 13 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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