掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 2164|回复: 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 编辑 , c) |# E1 n( c; a0 n
    . a& k/ [) ]: k1 l+ O* r$ s
    参考github调整fastWQ,在插件的dict文件夹加入LDOCE5.py和TLD.py文件,改写了路径。然后一打开anki就报错,如下:3 d% Q7 f/ u5 l: ]
    “错误 ; R" r8 b/ s" W/ I2 O. N/ z" J
    有一个错误发生了.请在按住shift键的同时启动Anki,这样可以临时的禁用您已经安装的插件。 6 ?1 q$ d) X" k, M+ J3 Y8 Z1 [$ U, ]
    如果仅仅是因为插件引起的问题,请选择工具>插件菜单项来将出错的的插件设置成失效,然后重启Anki,重复以上的步骤直到你发现了具体是哪个插件引起的问题。 " K  |3 B0 [" p% V4 R9 H' X
    当你已经发现是因为插件引起的问题,请在我们的支持网站上 [插件支持](https://help.ankiweb.net/discussions/add-ons/) 上报告问题。
    * w0 k3 O& {- n5 a9 g5 E$ x$ ^4 D调试信息:
    6 r& q0 R) t) U( H' pAnki 2.1.35 (84dcaa86) Python 3.8.0 Qt 5.14.2 PyQt 5.14.2
    , R6 u9 @4 M$ R! l/ q1 w# xPlatform: Windows 10
    6 @6 [$ a; H  [  P" WFlags: frz=True ao=True sv=2' e0 L$ e0 k$ t, n' t( z. \( |
    Add-ons, last update check: 2023-08-14 02:35:39: P, ]5 f* c. E: ?$ r" f& r$ m

    - Y* l# v5 }, UCaught exception:5 I# f7 U9 z, W8 O5 B8 v
    Traceback (most recent call last):
    3 k" e2 y" y1 z$ Y( {  File "aqt\progress.py", line 53, in handler
    % @: A" e+ C2 n0 W  File "aqt\main.py", line 142, in on_window_init
    ' b, u& g# H9 V5 v! }# m3 `  File "aqt\main.py", line 190, in setupProfileAfterWebviewsLoaded1 T' j/ E1 X/ g) N
      File "aqt\main.py", line 231, in setupProfile
      u4 a# G+ m2 z( A5 d  o2 b& k8 i9 @2 v  File "aqt\main.py", line 427, in loadProfile
    ( K# J4 i* {4 ^" ]" c6 p  File "aqt\gui_hooks.py", line 2033, in __call__* _9 m2 v. G; L1 D8 L+ {' Z$ Y& S
      File "anki\hooks.py", line 583, in runHook; i' K; K9 @9 O5 C4 I
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\__init__.py", line 37, in start_here
    : f3 }: d) g& X! h- ~    from . import common as fastwq
    9 k9 L9 p! x4 M6 x# v; u/ h' v  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\common.py", line 29, in <module>
    ' `! P  e  _4 W- O( P" j% K    from .gui import show_about_dialog, show_options  # , check_updates
    & Y2 b, t9 v' M3 a9 Y  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\gui\__init__.py", line 3, in <module>4 \; g; G9 o& d4 {
        from .common import *6 }2 @; V" b+ l- ^4 X7 |' y  Q
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\gui\common.py", line 28, in <module>" d! ?* l9 Y. ~- G( K6 ]0 I
        from ..service import service_manager, service_pool% a; F/ Y3 a1 u8 z! D3 b
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\__init__.py", line 24, in <module>
    4 U1 V. D7 b5 m" T4 H    service_manager = ServiceManager()                             # Service Manager; O/ u1 ]6 c/ o( T4 f1 a& ^
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 35, in __init__* q5 [4 j  }) W( T, f
        self.update_services()
    & {0 m# X) j2 B; Y, w: ?  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 43, in update_services
    9 k: Z) A1 N, A' c2 `    self.web_services, self.local_custom_services = self._get_services_from_files()7 O9 v' P! p. ?3 x% O! [
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 78, in _get_services_from_files
    + z  L2 V2 k9 j- P. O0 K    module = importlib.import_module(
    9 A1 n, A# y- k& r  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\utils\importlib.py", line 43, in import_module
    ; Y- _4 [( x! d0 O6 z    __import__(name)
    ' a' }( k" _8 ?0 p# Z7 m) N+ I  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\dict\LDOCE5.py", line 77 o% s' O7 q: _  Q
        <!DOCTYPE html>7 V$ [( P5 h1 [
        ^3 x, z9 A+ ?. d# ]( D# F
    SyntaxError: invalid syntax”& B7 k' O5 O! Y, ^! n  T+ U
    ( w) ?# e5 q& o9 P. U' ]
    我现在把LDOCE5.py和TLD.py文件删除,使用fastWQ依然报错用不了了。求大佬看看,小小报酬500米不成敬意
    5 {% V9 j% e5 J* r1 Q
    1 z( I: X; n! s. E4 P' o. v----------------------------
    5 p* ^. J% T5 H: @, _% P4 z# I/ k9 m. I# w/ ^
    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 | 显示全部楼层
    我也碰到过类似的问题,苦于自己不懂编程,只能用最笨的办法
    0 A9 i% h+ P$ Z6 c- {我的经验是插件里面的哪些.py文件都保持原样不做任何改动,然后重新复制一份进行修改,再放到这个文件夹里面就可以识别,不会报错0 {: Y, X3 `: l( J
    另外,我觉得你用的这个插件都是四年前了,有点久,我用的是论坛修改过的版本,放.py文件的位置都不一样

    评分

    1

    查看全部评分

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

    [LV.5]常住居民I

     楼主| 发表于 2023-8-19 21:17:25 | 显示全部楼层
    zgzzx10 发表于 2023-8-16 14:54$ K9 P9 B& X4 d4 T) h
    我也碰到过类似的问题,苦于自己不懂编程,只能用最笨的办法/ j* b& s- c% C
    我的经验是插件里面的哪些.py文件都保持原样不 ...
    3 |% |( h6 r8 z- t  u+ y
    感谢回复,我去下了论坛里的这个修改版fastWQ,最后还是放弃改py文件了,直接用the little dict前身早期版本了

    该用户从未签到

    发表于 2023-8-20 14:18:17 | 显示全部楼层
    这种问题可能比较复杂,看最下面是:1 \' G5 t' j& s. j% u4 E3 ]7 e6 s
    File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\dict\LDOCE5.py", line 7* Z2 A6 W2 i7 p1 r1 s+ o
    ; I4 D; z# @+ g  J    <!DOCTYPE html>
    ! O, b. [# i' h' B$ m1 a    ^4 y3 c+ {+ g% z7 r4 F6 i  L  o, C- D0 ]
    SyntaxError: invalid syntax0 k& j) D9 r# [: i) c
    ; G3 K; B: u; @; F4 S. }; r
    所以是 LDOCE5.py", line 7,这个文件有问题,应该是你下载的不对。5 a1 F- v' M: c, n

    * x& H% m/ [; U0 @. N% W8 D4 q; U: c“而且我不想要TLD最下面的释义部分”,
    5 u7 q0 Z. C/ c  U- Z! o/ f# B3 U修改TLD.py的 代码:
    $ r; N1 i: D+ b& p* m    @export('Chinese_def')  t+ C& [% k+ g: D$ i
        def chinese_def(self):8 H; L, I1 `  E, e+ t( d6 q" Y
            m = re.findall(r'<div class="\s*.*<\/div>', self.get_html_all())7 ^% w$ Y3 m3 g1 m8 Y* [) S
            if m:
    ; {7 n  s. r, e: T% T2 j            soup = parse_html(m[0]); i0 t. O4 Y6 z$ U+ j

    # N* V6 s. t0 ^+ {  F- x            el_list = soup.findAll('div', {'class':'coca2'})& U: f( E; f) D  G! A6 A
                def_distribution = ''
    $ J0 ]  w1 @" ~0 [9 k2 g            if el_list:
    & d6 Z; {. _9 z) A) d- v; M                def_distribution = str(el_list[0])) X8 z( m1 e* S* }4 M
                el_list = soup.findAll('div', {'class':'gdc'}) 这里就是释义" g$ N( T4 G. ~4 T0 ~5 h
                cn_def = ''
    " G, o3 s3 t! z6 d            if el_list:
    " ]- Z" ~. P  W& J' v                #cn_def = str(el_list[0]) 所以就删掉这一行,应该就可以了;或者在前面加 #,表示注释掉  这一行* K, n. r( q* ?6 h, H: a
                    return def_distribution + cn_def
    ) ^8 Z. d8 H$ u( f* b        return ''
    . \- [* ^4 Z3 O- X! O& |

    该用户从未签到

    发表于 2023-8-20 14:43:44 | 显示全部楼层
    “而且我不想要TLD最下面的释义部分”,
    . F3 F! p. l! e3 B! _$ _或者另一个思路吧,在anki中改 css,让释义的部分不显示,就是在 anki 模板 styling 中,找到 类似:. C: [6 `+ g! c0 ^; x8 b
    .gdc {$ T* q( n4 e! a+ I9 b) h8 b
    display: none;   /* 加上这行即可  */# b( h8 F7 E+ h1 M
    }

    评分

    1

    查看全部评分

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

    [LV.1]初来乍到

    发表于 2023-8-20 18:42:24 | 显示全部楼层
    已经有新版FastQuery了8 {/ K1 |0 M' J0 l! `

    9 d! j/ Q! b: M& j7 N5 p6 b; \https://ankiweb.net/shared/info/103636257: q3 _5 C; z8 h7 N  g: n: K
    https://github.com/sirius-fan/FastWordQuery6 l* P3 K( g) C9 d

    : ~9 B0 t1 S" ^# J* v( [. C8 O目前使用正常,就是有些辞典还不能正常使用。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2025-5-2 03:07 , Processed in 0.024914 second(s), 26 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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