掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 2178|回复: 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 编辑
    # g) q4 f! w3 W$ G3 W! i* w
    # e2 @, j4 [* b+ Y) O参考github调整fastWQ,在插件的dict文件夹加入LDOCE5.py和TLD.py文件,改写了路径。然后一打开anki就报错,如下:
    , y2 S: h  ~% I) d" G: A“错误
    ! O5 @. J- x8 ]% b$ K有一个错误发生了.请在按住shift键的同时启动Anki,这样可以临时的禁用您已经安装的插件。 / F3 Z& u$ t3 W' B. R* `% F
    如果仅仅是因为插件引起的问题,请选择工具>插件菜单项来将出错的的插件设置成失效,然后重启Anki,重复以上的步骤直到你发现了具体是哪个插件引起的问题。 2 e* u* V  {4 @( _4 E
    当你已经发现是因为插件引起的问题,请在我们的支持网站上 [插件支持](https://help.ankiweb.net/discussions/add-ons/) 上报告问题。 . e5 o. ]7 a% _: r$ b1 M& y# h
    调试信息:
    , ]# ~4 ]( X) G" Y, T5 G) [Anki 2.1.35 (84dcaa86) Python 3.8.0 Qt 5.14.2 PyQt 5.14.2
    ) ?7 ~9 S. G4 V" N! p) t: V% nPlatform: Windows 101 P6 a+ I2 s9 Q, b$ N( M5 z; `
    Flags: frz=True ao=True sv=2/ }1 S1 n5 X& ^' n; W, s% |# U% |
    Add-ons, last update check: 2023-08-14 02:35:394 V6 S5 _' o( T* ~; N) l8 }4 L
    4 E& e& ~7 K  C) K( T0 e2 f8 m
    Caught exception:1 G8 k/ H* ]0 t& o; Y' |$ r8 q! D; W
    Traceback (most recent call last):
    " L1 ^" k  `) Y( V% \- W  `4 H& v8 S  File "aqt\progress.py", line 53, in handler4 H; V0 a* {! N( M" R: R5 M3 @
      File "aqt\main.py", line 142, in on_window_init
    2 j$ L# d" }! t+ O  File "aqt\main.py", line 190, in setupProfileAfterWebviewsLoaded
    " [5 W$ Z6 H8 v" w2 s% |$ ]0 }  File "aqt\main.py", line 231, in setupProfile$ ^" m- C9 ?% v" t
      File "aqt\main.py", line 427, in loadProfile; Q  p- `8 h0 E1 u, _) w2 U
      File "aqt\gui_hooks.py", line 2033, in __call__
    / E4 S0 [2 A$ ?! I6 m- r  File "anki\hooks.py", line 583, in runHook
    * l0 x7 F7 M/ J; B: [! g2 O% X  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\__init__.py", line 37, in start_here! J$ s# j$ J# ~  Q! f, B. e$ f) T8 p
        from . import common as fastwq  X" Q7 f3 J8 ~* u2 ^
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\common.py", line 29, in <module>! F9 Z/ q( J, L: g3 w
        from .gui import show_about_dialog, show_options  # , check_updates8 \1 M: U  h1 W, D8 f) b* J7 `
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\gui\__init__.py", line 3, in <module>- q7 N5 m) R$ ^
        from .common import *
    . G0 O; C+ y3 r2 J  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\gui\common.py", line 28, in <module>* ]+ r6 y; l$ m. n# r
        from ..service import service_manager, service_pool
    % w7 z7 R+ @" H; s2 h3 @, a  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\__init__.py", line 24, in <module>
    9 Q5 u- \% K( w3 b, a4 h    service_manager = ServiceManager()                             # Service Manager8 V6 n  M% s) G" }' Z9 ]/ U
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 35, in __init__, V& t$ ]; j7 {% P+ R7 D
        self.update_services()
    1 T3 m' U# l; C  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 43, in update_services0 ^& E, ~8 A- C' R2 Z
        self.web_services, self.local_custom_services = self._get_services_from_files()$ r0 |' J- V- Y. e5 j! M) _' _& ^0 K7 Z
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 78, in _get_services_from_files& X6 m, D5 `0 K0 Y( }
        module = importlib.import_module(
    # Z: P# Q% Z: M  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\utils\importlib.py", line 43, in import_module
    2 P/ W" _' X! x' W4 o) `% g. T! N    __import__(name)3 H  R  t! O" P' u6 p. f& S
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\dict\LDOCE5.py", line 78 a9 b& p& P3 |- Z+ E1 V
        <!DOCTYPE html>
    4 [% T* ~7 P( `; S! c+ I    ^
    + L' u. L2 y- j- b4 r: bSyntaxError: invalid syntax”  E! x- \" e1 f+ W# p7 ]2 V
    ) ~. N  w+ [  I3 f
    我现在把LDOCE5.py和TLD.py文件删除,使用fastWQ依然报错用不了了。求大佬看看,小小报酬500米不成敬意; }( V# i9 ^5 D+ J# f6 J( d

    ! c# d: a* a) B- |8 s, U0 Q----------------------------5 O+ @; m4 I' U
    2 {& E9 T% ~3 S  ?
    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 | 显示全部楼层
    我也碰到过类似的问题,苦于自己不懂编程,只能用最笨的办法3 n9 t1 L* X4 \% o, m. L! O# E
    我的经验是插件里面的哪些.py文件都保持原样不做任何改动,然后重新复制一份进行修改,再放到这个文件夹里面就可以识别,不会报错
    5 |* ?, s3 e9 j- Q/ \另外,我觉得你用的这个插件都是四年前了,有点久,我用的是论坛修改过的版本,放.py文件的位置都不一样

    评分

    1

    查看全部评分

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

    [LV.5]常住居民I

     楼主| 发表于 2023-8-19 21:17:25 | 显示全部楼层
    zgzzx10 发表于 2023-8-16 14:54
    + ^7 g9 s' u# [, x7 i" }我也碰到过类似的问题,苦于自己不懂编程,只能用最笨的办法$ n2 c8 z$ o0 `7 f8 x9 _
    我的经验是插件里面的哪些.py文件都保持原样不 ...
    ; H6 S& Q+ l3 _- R1 y
    感谢回复,我去下了论坛里的这个修改版fastWQ,最后还是放弃改py文件了,直接用the little dict前身早期版本了

    该用户从未签到

    发表于 2023-8-20 14:18:17 | 显示全部楼层
    这种问题可能比较复杂,看最下面是:  x. c. s* F* [. @! b, H. _
    File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\dict\LDOCE5.py", line 7* Z2 A6 W2 i7 p1 r1 s+ o+ ~4 z; Z" @; ?' I4 K
        <!DOCTYPE html>
    6 b: G) g! T% Q' ?    ^4 y3 c+ {+ g% z7 r4 F6 i) ]6 ]8 i# ^  v2 Y! \
    SyntaxError: invalid syntax0 I9 O! p' b+ ~  g! v

    0 @5 y5 J3 y( a所以是 LDOCE5.py", line 7,这个文件有问题,应该是你下载的不对。# f) d. z9 u' l4 a9 ^# R

    : c6 C( k' u7 Q) r“而且我不想要TLD最下面的释义部分”,( m6 c0 l+ m3 w
    修改TLD.py的 代码:
    * u' \+ B* \  L    @export('Chinese_def')/ w6 ~9 {; [3 V9 ]2 p
        def chinese_def(self):
    7 c6 c$ |8 _" x/ F2 O        m = re.findall(r'<div class="\s*.*<\/div>', self.get_html_all())4 n$ o! g! _( F5 F
            if m:) }3 t/ b6 I1 T- M% U5 @$ m
                soup = parse_html(m[0])
    ( P+ x" P8 i" ^1 f) ^0 ?- b
    7 r* ^  }8 p5 @: x            el_list = soup.findAll('div', {'class':'coca2'})
    5 i, v' Q% ^- z            def_distribution = ''
    3 X; b$ p! R: j) i8 M            if el_list:# @' G* q8 s; Y% |4 @  w$ x
                    def_distribution = str(el_list[0]), C  k- I9 }* Q
                el_list = soup.findAll('div', {'class':'gdc'}) 这里就是释义# s, ~8 G5 K" k4 R; m6 t
                cn_def = ''
    ; C7 e9 H9 |' u            if el_list:
    7 t0 ?3 O4 X8 \6 H  c6 {/ V                #cn_def = str(el_list[0]) 所以就删掉这一行,应该就可以了;或者在前面加 #,表示注释掉  这一行( e! s6 y1 F$ Q& W
                    return def_distribution + cn_def; D% [1 \; o: W) a5 P; y2 t  j
            return ''
    ( e+ {; w+ L9 C  K' S; r0 |- j

    该用户从未签到

    发表于 2023-8-20 14:43:44 | 显示全部楼层
    “而且我不想要TLD最下面的释义部分”,. P& p0 I: t0 ~. _0 Z" {9 U
    或者另一个思路吧,在anki中改 css,让释义的部分不显示,就是在 anki 模板 styling 中,找到 类似:: O' R/ @! H1 v1 h7 {
    .gdc {# x+ ^' p& F  |7 F
    display: none;   /* 加上这行即可  */
    " e- {: `' O# s! f. \7 Y}

    评分

    1

    查看全部评分

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

    [LV.1]初来乍到

    发表于 2023-8-20 18:42:24 | 显示全部楼层
    已经有新版FastQuery了0 I$ n! P. C3 l( J

    ' r& f) A& u. \, thttps://ankiweb.net/shared/info/103636257
    $ k2 u6 f3 V' B1 ^- Q* F2 C& Khttps://github.com/sirius-fan/FastWordQuery" p( w+ {! [$ p7 X' T% x

    & r" }, M; x: v1 \" k目前使用正常,就是有些辞典还不能正常使用。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2025-5-12 06:24 , Processed in 0.028892 second(s), 30 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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