掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1008|回复: 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 编辑
    , }+ E  s) L0 }4 [5 [! }' y8 W2 c9 Z: l( C4 N
    参考github调整fastWQ,在插件的dict文件夹加入LDOCE5.py和TLD.py文件,改写了路径。然后一打开anki就报错,如下:
    4 }7 u. P6 N; R“错误
    : G. R& ^* R$ ], \有一个错误发生了.请在按住shift键的同时启动Anki,这样可以临时的禁用您已经安装的插件。
    " l" G$ i1 D- R( l如果仅仅是因为插件引起的问题,请选择工具>插件菜单项来将出错的的插件设置成失效,然后重启Anki,重复以上的步骤直到你发现了具体是哪个插件引起的问题。
    : b6 y/ n3 n. g1 P6 c2 v当你已经发现是因为插件引起的问题,请在我们的支持网站上 [插件支持](https://help.ankiweb.net/discussions/add-ons/) 上报告问题。 5 W  y0 G3 c: z
    调试信息:# H0 L' Z! Y( o/ u/ Z% S
    Anki 2.1.35 (84dcaa86) Python 3.8.0 Qt 5.14.2 PyQt 5.14.2) E& J0 e. R" y, a+ d# C& Y  \
    Platform: Windows 10
    " m0 t' F4 d4 l6 IFlags: frz=True ao=True sv=2
    9 S8 k, a! p1 f. L4 L& N( yAdd-ons, last update check: 2023-08-14 02:35:39, y$ t1 e+ l# A3 f- E, }; p
    : b- c- F4 _/ h/ {
    Caught exception:
    9 b: j1 F0 W. z3 n: [+ s3 Y( vTraceback (most recent call last):
    8 {% t* @" I$ I) o1 P/ t  File "aqt\progress.py", line 53, in handler
    + h3 H9 c: f9 g; O9 A, D1 i& b  File "aqt\main.py", line 142, in on_window_init
    * ?, }- E+ g" p, s  File "aqt\main.py", line 190, in setupProfileAfterWebviewsLoaded% H5 s' U2 m  c" v8 D
      File "aqt\main.py", line 231, in setupProfile
    $ L0 J( q" {, U  File "aqt\main.py", line 427, in loadProfile
    ' b: D0 Q5 B- P" R7 x  File "aqt\gui_hooks.py", line 2033, in __call__, E; `9 A2 Z1 m0 S. q( S+ y) `( s
      File "anki\hooks.py", line 583, in runHook# ^$ N# Q, X6 q3 |8 ^
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\__init__.py", line 37, in start_here2 e0 W4 N$ V) ^- I2 {
        from . import common as fastwq
    + A& `4 T6 D" b* |  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\common.py", line 29, in <module>% D/ e2 A" M& L
        from .gui import show_about_dialog, show_options  # , check_updates
    ( q8 X# n0 @+ |, ], i$ ]  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\gui\__init__.py", line 3, in <module>1 r* G' f8 B* D% a# Z, U) o3 \8 G5 o
        from .common import *
    ( c8 ?. ?/ y- t1 z* ~  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\gui\common.py", line 28, in <module>/ f+ P; W" h. p; M
        from ..service import service_manager, service_pool
    ' N, s  j# m; ]; r- H  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\__init__.py", line 24, in <module>
    ) M7 }4 P' b- x/ E    service_manager = ServiceManager()                             # Service Manager& ]: F4 v" \+ g6 y& `) J
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 35, in __init__
    3 Y5 v) h6 e) s9 @/ `& X- Z4 B    self.update_services()1 N! r( Z# ~$ y! I3 x
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 43, in update_services
    # x4 Z3 _3 b$ h1 U    self.web_services, self.local_custom_services = self._get_services_from_files()
    2 W- J$ `1 u# X5 L  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 78, in _get_services_from_files& I" u; e2 ^' s# y3 X, w% `
        module = importlib.import_module(  h" B$ w9 }) g+ m7 ?% x/ z3 D
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\utils\importlib.py", line 43, in import_module
    6 R* k, `' w* D) x# ]4 z    __import__(name)
    ! {" x2 B% {- ^* r/ V* j$ |- g  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\dict\LDOCE5.py", line 7
    ' Z0 X. n9 m  U) J+ }" `    <!DOCTYPE html>
    . q8 n. C; `, d% E    ^7 Y& N9 A  R3 A# N2 y) B
    SyntaxError: invalid syntax”
    * x6 v' _. i! ~5 N6 P& l1 e
    7 S  @# U, W7 {+ ?( m% H: i我现在把LDOCE5.py和TLD.py文件删除,使用fastWQ依然报错用不了了。求大佬看看,小小报酬500米不成敬意
    ( I! M3 T( T4 Z3 X& L# E
    - l8 \, D& H8 p, J----------------------------
    8 N1 M1 X% A) s/ r  ^# Q- B% i7 ]5 r/ n! p( Z+ h3 Z9 z& M
    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 | 显示全部楼层
    我也碰到过类似的问题,苦于自己不懂编程,只能用最笨的办法, w8 T$ s- H% Y! F/ R) O  o
    我的经验是插件里面的哪些.py文件都保持原样不做任何改动,然后重新复制一份进行修改,再放到这个文件夹里面就可以识别,不会报错
    2 |/ V% E9 }$ m* E另外,我觉得你用的这个插件都是四年前了,有点久,我用的是论坛修改过的版本,放.py文件的位置都不一样

    评分

    1

    查看全部评分

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

    [LV.5]常住居民I

     楼主| 发表于 2023-8-19 21:17:25 | 显示全部楼层
    zgzzx10 发表于 2023-8-16 14:542 p* X+ `: }' m4 e/ j5 L) Q1 C
    我也碰到过类似的问题,苦于自己不懂编程,只能用最笨的办法' z$ p2 g1 s) ^. Z+ f
    我的经验是插件里面的哪些.py文件都保持原样不 ...
    5 G# z( G  W0 N/ K; }" w
    感谢回复,我去下了论坛里的这个修改版fastWQ,最后还是放弃改py文件了,直接用the little dict前身早期版本了

    该用户从未签到

    发表于 2023-8-20 14:18:17 | 显示全部楼层
    这种问题可能比较复杂,看最下面是:
    0 q) p( C& }- S+ R) g3 S! iFile "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\dict\LDOCE5.py", line 7* Z2 A6 W2 i7 p1 r1 s+ o" h9 R3 ?1 q" X. `' S% u/ Q2 Z
        <!DOCTYPE html>5 J# S* m7 |4 |
        ^4 y3 c+ {+ g% z7 r4 F6 i1 T% R' n- `/ w
    SyntaxError: invalid syntax
    : m: A7 d; T: E" d" q7 h6 c* S" O5 Z- S
    所以是 LDOCE5.py", line 7,这个文件有问题,应该是你下载的不对。
    / Z; G' f$ c7 n; v7 F
    % |4 L; M& `5 A( b) ], _“而且我不想要TLD最下面的释义部分”,1 E: g. |6 V$ R) m
    修改TLD.py的 代码:
    6 z& [2 e' |" w    @export('Chinese_def'): x4 s" E. U7 L
        def chinese_def(self):
    ) R$ b4 E3 T: S) c6 e2 [        m = re.findall(r'<div class="\s*.*<\/div>', self.get_html_all())
    0 X) v7 E1 B" a        if m:
    & M) r  m0 |- e  y1 @            soup = parse_html(m[0])
    ; \0 z# ^6 {& c( d* P' L+ Q3 V, |4 M; `$ i/ x7 Q3 ?
                el_list = soup.findAll('div', {'class':'coca2'})4 a2 U3 [! g2 s6 L( `
                def_distribution = ''
      t$ p+ S( o. D7 h            if el_list:6 C% ~$ r$ D& n9 V$ Z
                    def_distribution = str(el_list[0])" ]0 y  f( u; q% u: x
                el_list = soup.findAll('div', {'class':'gdc'}) 这里就是释义' m8 r, u. k0 ~
                cn_def = ''
    % O( X' A2 n3 a6 b( w8 N            if el_list:
    - E4 R# ~/ w, E. h, W- V: I; M                #cn_def = str(el_list[0]) 所以就删掉这一行,应该就可以了;或者在前面加 #,表示注释掉  这一行% j' z/ {( d% x- Q9 m! x
                    return def_distribution + cn_def
    1 ?2 W/ {4 v' Y- t  l% K7 M6 ~4 b3 `        return ''- b# V/ e  |0 A

    该用户从未签到

    发表于 2023-8-20 14:43:44 | 显示全部楼层
    “而且我不想要TLD最下面的释义部分”,3 k6 u; G! @! G9 r8 w! p% b7 {
    或者另一个思路吧,在anki中改 css,让释义的部分不显示,就是在 anki 模板 styling 中,找到 类似:" c+ G9 l$ h9 c' \' X
    .gdc {# ?) }1 Y7 |" z" a6 s* y; Z
    display: none;   /* 加上这行即可  */
    * u" H) ]4 U( H}

    评分

    1

    查看全部评分

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

    [LV.1]初来乍到

    发表于 2023-8-20 18:42:24 | 显示全部楼层
    已经有新版FastQuery了2 I( \, _2 t8 `# L( f
    $ S& J. _3 {- r3 U' b
    https://ankiweb.net/shared/info/103636257
    8 g3 v3 ]2 b- e) ?, Yhttps://github.com/sirius-fan/FastWordQuery
    1 N. D; `8 K3 L) j& T3 R, l4 N- ~. {9 C3 G( T9 I
    目前使用正常,就是有些辞典还不能正常使用。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-6-8 07:47 , Processed in 0.052628 second(s), 13 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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