掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 901|回复: 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 编辑 + {9 x3 e/ |8 r% ^; r

      }, v4 ^# ?* A# S% Q- ~2 K参考github调整fastWQ,在插件的dict文件夹加入LDOCE5.py和TLD.py文件,改写了路径。然后一打开anki就报错,如下:5 {# z6 ]2 A; t% B
    “错误 0 A& I% _2 i# ]2 ?' s% ]
    有一个错误发生了.请在按住shift键的同时启动Anki,这样可以临时的禁用您已经安装的插件。   q2 T# n; c$ T
    如果仅仅是因为插件引起的问题,请选择工具>插件菜单项来将出错的的插件设置成失效,然后重启Anki,重复以上的步骤直到你发现了具体是哪个插件引起的问题。 + l5 z/ X& @; `- J2 g! c# `, P
    当你已经发现是因为插件引起的问题,请在我们的支持网站上 [插件支持](https://help.ankiweb.net/discussions/add-ons/) 上报告问题。
    3 _0 E% y+ P# f9 Z# i调试信息:8 j; u9 N# J" Y# O9 S7 s" n
    Anki 2.1.35 (84dcaa86) Python 3.8.0 Qt 5.14.2 PyQt 5.14.2
    3 ^" j- Q9 z8 fPlatform: Windows 10
    : A3 s5 U- `; I8 h2 D+ i: XFlags: frz=True ao=True sv=2
    6 P1 |" |- U) o& eAdd-ons, last update check: 2023-08-14 02:35:39) K# w1 o$ N* t% B$ h! N

    " B* K- G8 l) H" r/ y$ YCaught exception:8 P7 B0 t% b8 ?, a' g5 \8 h% J
    Traceback (most recent call last):
    . x5 z4 L& m' d  File "aqt\progress.py", line 53, in handler5 ?8 m" z" \1 }% |. W
      File "aqt\main.py", line 142, in on_window_init* D- `5 j; \- `8 l# B* v2 M
      File "aqt\main.py", line 190, in setupProfileAfterWebviewsLoaded
    ! i2 D, S  K& a& V) j  File "aqt\main.py", line 231, in setupProfile; |+ ~4 h- w5 ^! q! d7 o4 G
      File "aqt\main.py", line 427, in loadProfile; k# u& u0 V- }) V' `
      File "aqt\gui_hooks.py", line 2033, in __call__
    ; O' ?2 G" t4 s4 N/ d- P/ p  t. B  File "anki\hooks.py", line 583, in runHook( K9 s9 q' \( }: H: ~
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\__init__.py", line 37, in start_here: O- n4 o, F2 s" z9 V
        from . import common as fastwq
    + u# n1 X& u. p; l& K  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\common.py", line 29, in <module>, X2 Q- ?, G% s8 d. g" ?
        from .gui import show_about_dialog, show_options  # , check_updates
    ' d3 G) }5 b* B5 c" I" O5 p  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\gui\__init__.py", line 3, in <module>
    % k: J; B: ~% ~2 c4 o" U, V& F    from .common import *
    5 I" D4 H+ O: w4 r% Q" z) C  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\gui\common.py", line 28, in <module>6 ~0 J1 y* o% j8 y2 u  f& Z% E
        from ..service import service_manager, service_pool
    7 ~  V. M' _& H  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\__init__.py", line 24, in <module>& p: A& c; v, f" G
        service_manager = ServiceManager()                             # Service Manager
    + a3 @) V. Y8 z9 G, X' c+ M8 K  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 35, in __init__- Z6 o! d' r. C% |+ B
        self.update_services()& |( C( w3 n9 p( z6 g4 |
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 43, in update_services
    * K- W$ S" u" \1 x1 O6 R    self.web_services, self.local_custom_services = self._get_services_from_files()
    5 g! D& _% o* `* l' G" I4 \. Y  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 78, in _get_services_from_files6 n* h- y% h4 g1 D
        module = importlib.import_module(7 i. _7 t+ C6 S5 z6 W$ I) X3 F. ]
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\utils\importlib.py", line 43, in import_module
    5 w& j# b. {$ r    __import__(name)
    3 a. f, J7 T" [8 c  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\dict\LDOCE5.py", line 7" P; ~& ]% a5 z2 E& _4 n0 C* X
        <!DOCTYPE html>6 L+ q7 _' Y1 Q9 S7 z: b
        ^
    - F$ u! n5 s* v7 ~6 P4 Q  {SyntaxError: invalid syntax”
    $ g/ @$ t6 a! o' H
    6 a$ ^6 _* w% D我现在把LDOCE5.py和TLD.py文件删除,使用fastWQ依然报错用不了了。求大佬看看,小小报酬500米不成敬意1 E' t' [2 W, V5 x2 e, [
    % d$ i8 `0 f( I- H0 P, ^
    ----------------------------
    # \1 i4 p/ J4 ^; H1 M8 O7 O5 z+ H7 V. Z
    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 | 显示全部楼层
    我也碰到过类似的问题,苦于自己不懂编程,只能用最笨的办法7 k- O. Q3 }# K" a
    我的经验是插件里面的哪些.py文件都保持原样不做任何改动,然后重新复制一份进行修改,再放到这个文件夹里面就可以识别,不会报错
      J1 J, j7 p- N9 K4 `4 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 S, Q, ~7 f' k0 n我也碰到过类似的问题,苦于自己不懂编程,只能用最笨的办法
    # B8 t2 x, U; K4 a) x, r我的经验是插件里面的哪些.py文件都保持原样不 ...
    ) @) M, Y6 I" a" q8 x+ F% s
    感谢回复,我去下了论坛里的这个修改版fastWQ,最后还是放弃改py文件了,直接用the little dict前身早期版本了

    该用户从未签到

    发表于 2023-8-20 14:18:17 | 显示全部楼层
    这种问题可能比较复杂,看最下面是:4 E0 G1 Q4 E9 u' F6 M/ r
    File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\dict\LDOCE5.py", line 7* Z2 A6 W2 i7 p1 r1 s+ o: c  T6 Z4 M. T/ w& ]+ \7 v7 S" q
        <!DOCTYPE html>( y$ X1 A: X/ |& q& w
        ^4 y3 c+ {+ g% z7 r4 F6 i
    & A/ l0 r+ g4 @+ g% `% ?$ f; WSyntaxError: invalid syntax
    : i$ [% j% ~. X2 n4 x
    8 R: ~/ g9 S& s所以是 LDOCE5.py", line 7,这个文件有问题,应该是你下载的不对。; w' T+ u/ H9 m; C6 n; s
    8 ~0 ?8 i* Y6 V8 o: Z, J+ m
    “而且我不想要TLD最下面的释义部分”,2 a2 W$ _. T' L/ \
    修改TLD.py的 代码:- U6 ~* j# b, M2 x1 B& _* o( j/ N. ?
        @export('Chinese_def')( K' D% {" S( O' K% U0 ~5 E
        def chinese_def(self):
      n4 F: Z( U# m$ `. q1 C6 S        m = re.findall(r'<div class="\s*.*<\/div>', self.get_html_all())
    " p6 x$ E3 g6 A' h        if m:
    - `9 H6 M9 S2 Z  n            soup = parse_html(m[0])9 ^( s- v; R) s* t2 t4 l# |& e
    " D4 N1 q5 C: Q+ {, M+ I; o
                el_list = soup.findAll('div', {'class':'coca2'})
    2 e5 j' G' V% J* I, J1 K            def_distribution = ''
    - O  J/ c/ [8 g$ b( f) O6 A            if el_list:/ m4 b$ H# ^' y! Q- ~5 h
                    def_distribution = str(el_list[0])3 d1 g& J* e  k8 {
                el_list = soup.findAll('div', {'class':'gdc'}) 这里就是释义" g: r* [8 z" R
                cn_def = ''
    4 K8 R# U7 Q+ o! ^5 z            if el_list:
    , ^" q% V; b5 {                #cn_def = str(el_list[0]) 所以就删掉这一行,应该就可以了;或者在前面加 #,表示注释掉  这一行
    7 g- J" ]: I$ m0 ^5 L6 h                return def_distribution + cn_def
    $ G: F+ w+ _/ g" e* B: X; D        return ''2 |2 A# q* R0 h- b7 r  m; `

    该用户从未签到

    发表于 2023-8-20 14:43:44 | 显示全部楼层
    “而且我不想要TLD最下面的释义部分”,
    5 g. C$ t, Y7 a$ \或者另一个思路吧,在anki中改 css,让释义的部分不显示,就是在 anki 模板 styling 中,找到 类似:
    . |7 R; G& a( N/ f! B* f" U) ?.gdc {  g; P4 r; z& S% g
    display: none;   /* 加上这行即可  */: l- U* d6 x( d+ Y9 H7 S
    }

    评分

    1

    查看全部评分

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

    [LV.1]初来乍到

    发表于 2023-8-20 18:42:24 | 显示全部楼层
    已经有新版FastQuery了% S7 n: m) A: j' X' j% x

    7 s! D- U- K3 u* G5 m( |) M  `+ S+ v5 H0 chttps://ankiweb.net/shared/info/103636257
    9 v) z$ n) s. |( Ahttps://github.com/sirius-fan/FastWordQuery5 X; ~! ]8 b3 {7 {

    ' X) Z2 f. Z1 C目前使用正常,就是有些辞典还不能正常使用。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-4-28 06:30 , Processed in 0.150361 second(s), 12 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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