掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 2134|回复: 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 编辑
    8 I6 B# Q$ Q6 F# [
    , y, J! T  I: G( l$ U0 x参考github调整fastWQ,在插件的dict文件夹加入LDOCE5.py和TLD.py文件,改写了路径。然后一打开anki就报错,如下:
    9 r& c) s' O2 i, \“错误
    ( U" N' r7 n- H7 f+ ^  v有一个错误发生了.请在按住shift键的同时启动Anki,这样可以临时的禁用您已经安装的插件。
    9 T! r) g6 k9 v& c+ F如果仅仅是因为插件引起的问题,请选择工具>插件菜单项来将出错的的插件设置成失效,然后重启Anki,重复以上的步骤直到你发现了具体是哪个插件引起的问题。 * G4 y$ W4 m; n8 V1 V$ h" X
    当你已经发现是因为插件引起的问题,请在我们的支持网站上 [插件支持](https://help.ankiweb.net/discussions/add-ons/) 上报告问题。
    0 f7 i! ~( B' b' f8 X, a( l- x调试信息:
    * h1 n! F* \" l0 o# CAnki 2.1.35 (84dcaa86) Python 3.8.0 Qt 5.14.2 PyQt 5.14.2
      Q: U9 f: x' S# a/ b+ Q: kPlatform: Windows 10- C) C* p7 {/ V9 i
    Flags: frz=True ao=True sv=2; Y: C0 V  U! |" k
    Add-ons, last update check: 2023-08-14 02:35:39
    ! P1 n+ q/ k8 r- Y+ ]- I* T( P
    6 U8 p4 F$ N2 Y- tCaught exception:5 r8 [( C% Q. o" k, Q
    Traceback (most recent call last):$ K- {" U. h( X8 |. V
      File "aqt\progress.py", line 53, in handler
    ; t- W8 B6 p+ q0 \* P! v  File "aqt\main.py", line 142, in on_window_init) K7 q6 E9 t2 F2 X. z7 t; I1 J
      File "aqt\main.py", line 190, in setupProfileAfterWebviewsLoaded
    & Z1 m+ z/ l; M4 p/ H2 M  File "aqt\main.py", line 231, in setupProfile
    5 I: h1 G3 y- _+ u$ P( [6 i  File "aqt\main.py", line 427, in loadProfile
    ) N) U3 c7 z" y) h6 H, X3 s  File "aqt\gui_hooks.py", line 2033, in __call__3 R# q7 R. f. t$ T: _, o. z: n, d
      File "anki\hooks.py", line 583, in runHook- l1 K+ a8 k, `* ~! C" o$ M
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\__init__.py", line 37, in start_here" g& K$ {4 H+ s$ U$ f) a0 N8 O
        from . import common as fastwq* J& q5 d: K& n- S
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\common.py", line 29, in <module># B! s! ]& v9 U8 m9 A& A
        from .gui import show_about_dialog, show_options  # , check_updates# A# c( H; e" C3 @  E
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\gui\__init__.py", line 3, in <module>
    6 q& C$ o! I3 f3 X* w    from .common import *0 F! u; K) C+ T; ?" C
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\gui\common.py", line 28, in <module>
    ; |7 }6 B! @) g$ U% J/ C8 X6 R3 \% t7 @    from ..service import service_manager, service_pool
    ! \7 `% U" U+ X- d8 j$ z) a  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\__init__.py", line 24, in <module>
    % a' i3 C: ^) a' J    service_manager = ServiceManager()                             # Service Manager: D  ~: l7 W4 o
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 35, in __init__
    0 {/ f: v8 X) P0 e( x5 i$ H9 @    self.update_services()
    " I3 u: l5 u  q7 U  L  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 43, in update_services6 l# m' {/ v( R5 n9 V+ {( z( N6 h
        self.web_services, self.local_custom_services = self._get_services_from_files()
    1 i6 o) {: J2 @/ D0 \/ C  j/ s  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 78, in _get_services_from_files9 M3 a5 e- _1 v& r4 _' ^
        module = importlib.import_module(
      `* |1 n. b4 M1 W& s" `! J: ?  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\utils\importlib.py", line 43, in import_module5 `1 V( Z% `- ]  Y
        __import__(name)8 r  q$ S3 Q2 ?& X/ v+ v) M0 X
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\dict\LDOCE5.py", line 7
    : v8 o& J0 H2 a5 j& N    <!DOCTYPE html>
    9 ?7 L3 }& Y4 e6 D* W, Z    ^5 t) W( E# T" m# @/ Y
    SyntaxError: invalid syntax”+ G9 o% u& l! J7 p( Q3 }
    ( m- y# i. o3 R5 Q! h
    我现在把LDOCE5.py和TLD.py文件删除,使用fastWQ依然报错用不了了。求大佬看看,小小报酬500米不成敬意
    9 q4 g) v( \/ V0 k* s: q2 X* t! I; K; t
    ----------------------------
    : J5 N' R4 F/ t" z+ W
    ) o8 g2 U5 I; M. H: I8.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 e% p/ w  W0 j1 m
    我的经验是插件里面的哪些.py文件都保持原样不做任何改动,然后重新复制一份进行修改,再放到这个文件夹里面就可以识别,不会报错7 t5 L" j$ f0 N/ e
    另外,我觉得你用的这个插件都是四年前了,有点久,我用的是论坛修改过的版本,放.py文件的位置都不一样

    评分

    1

    查看全部评分

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

    [LV.5]常住居民I

     楼主| 发表于 2023-8-19 21:17:25 | 显示全部楼层
    zgzzx10 发表于 2023-8-16 14:54" G7 I: d( Y. _8 i, S* Y
    我也碰到过类似的问题,苦于自己不懂编程,只能用最笨的办法
    ( S& i! Z$ Y5 [% Y* F我的经验是插件里面的哪些.py文件都保持原样不 ...

    7 P4 L$ j; r$ V感谢回复,我去下了论坛里的这个修改版fastWQ,最后还是放弃改py文件了,直接用the little dict前身早期版本了

    该用户从未签到

    发表于 2023-8-20 14:18:17 | 显示全部楼层
    这种问题可能比较复杂,看最下面是:, F( q% S% J6 J# U' |
    File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\dict\LDOCE5.py", line 7* Z2 A6 W2 i7 p1 r1 s+ o
    6 S$ g4 {. R! ]$ }; i  O+ a& R  u    <!DOCTYPE html>
    : N* u7 x) }9 l1 c" i& a    ^4 y3 c+ {+ g% z7 r4 F6 i
    ) w& e+ ]; J8 [+ x" JSyntaxError: invalid syntax
    & i. M! [/ t! R) Q& R2 Y3 q3 ?
    8 S9 N/ u  L( S- u! K7 [1 N1 i所以是 LDOCE5.py", line 7,这个文件有问题,应该是你下载的不对。4 C8 g0 m5 O! i* D+ R4 @
    0 G+ X4 b6 Q6 n0 V5 {% a- X' }1 h
    “而且我不想要TLD最下面的释义部分”,
    ) _  X  \* v$ k# o, Q3 u修改TLD.py的 代码:* X6 C! h9 r0 ]- r: V
        @export('Chinese_def')
    ; A  [( O% T' w    def chinese_def(self):
    7 F3 m0 L' i7 B' y        m = re.findall(r'<div class="\s*.*<\/div>', self.get_html_all())2 m3 l8 F9 y5 ^8 |1 |; N. B# N
            if m:
    + D8 H% {! f$ a# \4 b            soup = parse_html(m[0])
    / O0 `* R. E% ^: ]4 g2 F! d) l: w' G
                el_list = soup.findAll('div', {'class':'coca2'})  g' I! F8 n! V' J
                def_distribution = ''
    3 ~! s5 ]( N1 [& {! H% k            if el_list:
    ; c7 e, Q2 ?# [                def_distribution = str(el_list[0])% G9 J! v6 [( T1 A" R
                el_list = soup.findAll('div', {'class':'gdc'}) 这里就是释义: S, P! ]! K  d3 |& E1 \$ b2 _% m
                cn_def = ''
    - m2 L7 G! w2 N5 C$ `4 X6 `& _            if el_list:  g8 z0 b6 b% Q. q8 f, O
                    #cn_def = str(el_list[0]) 所以就删掉这一行,应该就可以了;或者在前面加 #,表示注释掉  这一行
    1 M" e" ]; c3 q                return def_distribution + cn_def2 H1 ~  }  j  O
            return ''
    7 b* M! f9 ?! @( J

    该用户从未签到

    发表于 2023-8-20 14:43:44 | 显示全部楼层
    “而且我不想要TLD最下面的释义部分”,2 ~1 ^5 k: c$ w. S
    或者另一个思路吧,在anki中改 css,让释义的部分不显示,就是在 anki 模板 styling 中,找到 类似:) Z" j: L9 r9 m6 V# K  Y
    .gdc {; m7 G% t! V( p( E) T: I! d
    display: none;   /* 加上这行即可  */: U8 L+ r$ F3 Y- n- g- ^% b; K
    }

    评分

    1

    查看全部评分

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

    [LV.1]初来乍到

    发表于 2023-8-20 18:42:24 | 显示全部楼层
    已经有新版FastQuery了2 |- a& N+ h1 w
    5 m( p- W6 N2 B/ w5 d5 ^
    https://ankiweb.net/shared/info/103636257, d$ V! ]6 q" f9 B$ }6 D9 J
    https://github.com/sirius-fan/FastWordQuery
      q, f1 N+ q$ Y4 {5 f6 y# |; x8 j9 V2 a5 P; ^* ?
    目前使用正常,就是有些辞典还不能正常使用。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2025-4-18 06:08 , Processed in 0.027829 second(s), 30 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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