掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 2929|回复: 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 编辑
    ( X- ]) v% f  b' w# X3 C# a
    # D- f" R; k; S5 X5 Z( X) @参考github调整fastWQ,在插件的dict文件夹加入LDOCE5.py和TLD.py文件,改写了路径。然后一打开anki就报错,如下:+ v3 v( e, J8 P' s( [
    “错误
    ' O+ _9 }" U% U有一个错误发生了.请在按住shift键的同时启动Anki,这样可以临时的禁用您已经安装的插件。 ; b$ R. O; R) n
    如果仅仅是因为插件引起的问题,请选择工具>插件菜单项来将出错的的插件设置成失效,然后重启Anki,重复以上的步骤直到你发现了具体是哪个插件引起的问题。 5 {5 {# R8 J* k' E
    当你已经发现是因为插件引起的问题,请在我们的支持网站上 [插件支持](https://help.ankiweb.net/discussions/add-ons/) 上报告问题。
    5 b- e6 ^0 a! t( w. X6 i* i调试信息:6 P: s8 l7 v9 H3 z
    Anki 2.1.35 (84dcaa86) Python 3.8.0 Qt 5.14.2 PyQt 5.14.2
    2 @. R' f' J; {# @- o$ fPlatform: Windows 102 v* j5 F+ [: O2 V! i7 e
    Flags: frz=True ao=True sv=2
    + k8 f  V0 d1 }+ S# c) [Add-ons, last update check: 2023-08-14 02:35:390 _: _4 Q2 d- H: d

    : d, E0 M) \  C2 w, Z7 nCaught exception:
    , t  e" i1 O3 L+ P8 {Traceback (most recent call last):
    % g" T! E$ i$ J! i. A4 B6 a* c  File "aqt\progress.py", line 53, in handler7 B" ]6 G+ x- k7 d* t9 u4 h
      File "aqt\main.py", line 142, in on_window_init7 |4 \0 p/ U& ?9 p7 I
      File "aqt\main.py", line 190, in setupProfileAfterWebviewsLoaded
    3 u& P/ t! l, y3 L8 y  File "aqt\main.py", line 231, in setupProfile
    1 V$ G/ C+ y! s& Q  File "aqt\main.py", line 427, in loadProfile
    3 s! D: c! Z9 B2 c5 C2 w7 V  File "aqt\gui_hooks.py", line 2033, in __call__
    - F5 [* @+ h: d8 o  File "anki\hooks.py", line 583, in runHook
    $ Q2 I' z0 U' l/ b# K7 R0 Q  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\__init__.py", line 37, in start_here
      P" p  f' s) [7 T- ~    from . import common as fastwq
    , f( d; w4 x( c  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\common.py", line 29, in <module>+ H8 M9 ?. q) Q8 E: Q6 ]
        from .gui import show_about_dialog, show_options  # , check_updates% _2 s. e& v4 |9 s& N3 N
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\gui\__init__.py", line 3, in <module>
    " F; g8 n0 X2 {0 C- _    from .common import *
    - X+ j1 o& b8 F; u( `  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\gui\common.py", line 28, in <module>1 V, s* [, \& A6 c6 T7 w7 `
        from ..service import service_manager, service_pool- v7 L! u% W, r# c
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\__init__.py", line 24, in <module>% Y( {9 G# P9 J  P4 M6 V
        service_manager = ServiceManager()                             # Service Manager0 g" W9 Q. x, C+ l; R( c& [* l
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 35, in __init__- b. C5 A8 v% Q  ^. j0 @
        self.update_services()
    ; d0 E6 h* o. z4 E( F3 H  I  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 43, in update_services, k0 B3 E) r7 g/ I4 r7 B
        self.web_services, self.local_custom_services = self._get_services_from_files()
    ; L' Z' y+ ^: N0 h, W% |  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 78, in _get_services_from_files- k, A" o. O9 U% ^2 X6 M
        module = importlib.import_module(" y: T! u8 Z( U. c5 D" n
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\utils\importlib.py", line 43, in import_module
    3 X! p) b" K$ Z    __import__(name)3 f& p- X, n" o5 k# q
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\dict\LDOCE5.py", line 78 C/ R/ t- q, p% z$ M, G* M
        <!DOCTYPE html>; Q  K: ~) W. }$ Z& V! X5 p+ C
        ^3 ]. A7 P5 H1 ]- \
    SyntaxError: invalid syntax”
    0 S) S5 N: {# Z, L" F+ u, Q; E
    5 ?  C: x; t( d# a- d, t我现在把LDOCE5.py和TLD.py文件删除,使用fastWQ依然报错用不了了。求大佬看看,小小报酬500米不成敬意. F6 w3 r5 u8 d

    6 K; E9 |3 I- Y: X3 ~3 E----------------------------
    # L& n) p  @, U! W! b; Y4 b) g2 @# b' ?5 E* q
    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 | 显示全部楼层
    我也碰到过类似的问题,苦于自己不懂编程,只能用最笨的办法; n# N0 q! `" L- ^& [' V* n# X
    我的经验是插件里面的哪些.py文件都保持原样不做任何改动,然后重新复制一份进行修改,再放到这个文件夹里面就可以识别,不会报错
    1 e2 @  N; Y  i( X; k另外,我觉得你用的这个插件都是四年前了,有点久,我用的是论坛修改过的版本,放.py文件的位置都不一样

    评分

    1

    查看全部评分

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

    [LV.5]常住居民I

     楼主| 发表于 2023-8-19 21:17:25 | 显示全部楼层
    zgzzx10 发表于 2023-8-16 14:54
    * L7 Z7 ~/ v" n" s% j. K) S" B我也碰到过类似的问题,苦于自己不懂编程,只能用最笨的办法( _* Z  l0 ]/ @
    我的经验是插件里面的哪些.py文件都保持原样不 ...

    0 p0 \2 G. h% E* t4 D感谢回复,我去下了论坛里的这个修改版fastWQ,最后还是放弃改py文件了,直接用the little dict前身早期版本了

    该用户从未签到

    发表于 2023-8-20 14:18:17 | 显示全部楼层
    这种问题可能比较复杂,看最下面是:
    % B* k* H# ^, K: GFile "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\dict\LDOCE5.py", line 7* Z2 A6 W2 i7 p1 r1 s+ o  j9 Y' C( P' j* E% n; O
        <!DOCTYPE html>
      ~1 S1 X1 R; s' r& F! q1 A    ^4 y3 c+ {+ g% z7 r4 F6 i4 e2 b5 d/ R- a
    SyntaxError: invalid syntax
    2 e3 X+ F3 U7 z8 e* C2 M- G
    . c7 a5 v" [" c2 [1 i8 Y8 V5 a所以是 LDOCE5.py", line 7,这个文件有问题,应该是你下载的不对。
    1 I7 f! q; G; F+ j- A6 N
    4 ^' X6 z( n* ]( t! u“而且我不想要TLD最下面的释义部分”,( T+ S! ^; G" i
    修改TLD.py的 代码:
    8 B" c1 N4 S2 F. J/ G    @export('Chinese_def')
    ; x1 |& d# U8 L0 w+ g. y% W' S    def chinese_def(self):
    1 c+ I# I' @# j) o        m = re.findall(r'<div class="\s*.*<\/div>', self.get_html_all()); y. z' M% u1 Y# |+ V# n0 T" Y$ f
            if m:/ {# Z- L3 F# _' B
                soup = parse_html(m[0])
    0 ^1 _' f( c' p4 i: ]' v$ f3 w" q3 s4 x8 r5 ]
                el_list = soup.findAll('div', {'class':'coca2'})
    # C0 ?! F; }, X  L, O! q9 h1 C7 u            def_distribution = ''8 L7 X4 s9 ~) @" z* H* b
                if el_list:
    + j/ c1 T" Z5 L1 B9 q                def_distribution = str(el_list[0])
    5 |+ |2 I' S: ]! h, D            el_list = soup.findAll('div', {'class':'gdc'}) 这里就是释义
    # ]  J" {+ h9 @; X7 Q$ y4 E* Y            cn_def = ''
    / m4 D# Q! L7 z, ?$ N" Y            if el_list:
      X. [8 D- O6 `* n6 ~0 U! R0 O+ C                #cn_def = str(el_list[0]) 所以就删掉这一行,应该就可以了;或者在前面加 #,表示注释掉  这一行3 n( F7 f# ^+ J  A* q
                    return def_distribution + cn_def
    ) Y: |( e, V; L4 p- y        return ''
    ( p- r+ @' S( o% z) y

    该用户从未签到

    发表于 2023-8-20 14:43:44 | 显示全部楼层
    “而且我不想要TLD最下面的释义部分”,2 q3 {! y/ [2 v$ ~, |+ H# n# b
    或者另一个思路吧,在anki中改 css,让释义的部分不显示,就是在 anki 模板 styling 中,找到 类似:7 F) {1 @  u) B0 X3 c: [: r; Z7 N
    .gdc {$ I7 v( i3 n6 h/ {# V9 v, T: J! j
    display: none;   /* 加上这行即可  */6 V/ H0 z+ I, _5 Z
    }

    评分

    1

    查看全部评分

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

    [LV.1]初来乍到

    发表于 2023-8-20 18:42:24 | 显示全部楼层
    已经有新版FastQuery了
    & d1 a/ x5 ?+ f* q9 s7 f& B* ?$ `1 m  V5 H# Z4 Z
    https://ankiweb.net/shared/info/103636257* g& y) E7 f9 b0 N6 N% V% y
    https://github.com/sirius-fan/FastWordQuery
    0 _' y0 p2 z9 U7 D: J
    9 \1 k# r9 J$ }# G  g0 [  Q目前使用正常,就是有些辞典还不能正常使用。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2026-6-4 06:41 , Processed in 0.024264 second(s), 26 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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