Skip to content

mac 13.0上出现问题 #252

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
alex404notfound opened this issue Aug 24, 2022 · 3 comments
Open

mac 13.0上出现问题 #252

alex404notfound opened this issue Aug 24, 2022 · 3 comments

Comments

@alex404notfound
Copy link

错误
发生了一个错误。请在启动Anki时按住「Shift」键临时禁用插件加载。 如仅在插件启用时出错,请使用「工具」>「插件」功能禁用部分插件后重启Anki, 请重复上述步骤直至找到引起错误的插件。 找到引起错误的插件后,请反馈给插件作者。 调试信息:
Anki 2.1.54 (b6a7760c) Python 3.9.7 Qt 6.3.1 PyQt 6.3.1
Platform: Mac 13.0
Flags: frz=True ao=True sv=2
Add-ons, last update check: 2022-08-23 11:04:56
相关插件:⁨Fast Word Query Multi-threaded queries for words from local or web dictionaries⁩

Caught exception:
Traceback (most recent call last):
File "/Users/404notfound/Library/Application Support/Anki2/addons21/1807206748/gui/foldermanager.py", line 89, in accept
self.save()
File "/Users/404notfound/Library/Application Support/Anki2/addons21/1807206748/gui/foldermanager.py", line 99, in save
config.update(data)
File "/Users/404notfound/Library/Application Support/Anki2/addons21/1807206748/context.py", line 60, in update
with open(self.path, 'w', encoding='utf-8') as f:
OSError: [Errno 30] Read-only file system: '_fastwqcfg.json'

我用的词典文件是:
http://louischeung.top:225/mdict%E8%AF%8D%E5%85%B8%E5%8C%85/%E7%89%9B%E6%B4%A5%E9%AB%98%E9%98%B6%E8%8B%B1%E6%B1%89%E5%8F%8C%E8%A7%A3%E8%AF%8D%E5%85%B8%EF%BC%88%E7%AC%AC10%E7%89%88%EF%BC%89V3/

@Buliet
Copy link

Buliet commented Oct 11, 2022

Mac M1 遇到同样的问题,临时解决
修改文件:/Users/abc123/Library/Application Support/Anki2/addons21/1807206748/context.py
其中 abc123 是我的用户名,需要改成你自己的

找到下面这一行,我的在文件 第 42 行
self.path = u'_' + self._CONFIG_FILENAME

改成下面这样
self.path = os.environ.get("HOME") + u'/Library/Application Support/Anki2/' + os.environ.get("USER") + u'/collection.media/' + u'_' + self._CONFIG_FILENAME

@Buliet
Copy link

Buliet commented Oct 11, 2022

另外 还遇到 录入后不能正常播放音频,查了下发现是文件不在对应的文件夹,每次需要手动调整下
用的 LDOCE6.mdd 和 LDOCE6.mdx
故 临时解决
修改文件:/Users/abc123/Library/Application Support/Anki2/addons21/1807206748/service/dict/LDOCE6.py
同样,路径中的用户名需要改成自己的

找到下面这段,我的在文件 第 47 行 - 第 57 行,整段覆盖后,重新

def _fld_voice(self, html, voice):
    """获取发音字段"""
    for regexp in LANG_TO_REGEXPS[voice]:
        match = regexp.search(html)
        if match:
            val = '/' + match.group(1)
            name = get_hex_name('mdx-'+self.unique.lower(), val, 'mp3')
            tmpfname = os.environ.get("HOME") + u'/Library/Application Support/Anki2/' + os.environ.get("USER") + u'/collection.media/' + name
            # name = self.save_file(val, name)
            tmpfname = self.save_file(val, tmpfname)
            if tmpfname:
            # if name:
                return self.get_anki_label(name, 'audio')
    return ''

@samon127
Copy link

samon127 commented Oct 26, 2022

另外 还遇到 录入后不能正常播放音频,查了下发现是文件不在对应的文件夹,每次需要手动调整下 用的 LDOCE6.mdd 和 LDOCE6.mdx 故 临时解决 修改文件:/Users/abc123/Library/Application Support/Anki2/addons21/1807206748/service/dict/LDOCE6.py 同样,路径中的用户名需要改成自己的

找到下面这段,我的在文件 第 47 行 - 第 57 行,整段覆盖后,重新

def _fld_voice(self, html, voice):
    """获取发音字段"""
    for regexp in LANG_TO_REGEXPS[voice]:
        match = regexp.search(html)
        if match:
            val = '/' + match.group(1)
            name = get_hex_name('mdx-'+self.unique.lower(), val, 'mp3')
            tmpfname = os.environ.get("HOME") + u'/Library/Application Support/Anki2/' + os.environ.get("USER") + u'/collection.media/' + name
            # name = self.save_file(val, name)
            tmpfname = self.save_file(val, tmpfname)
            if tmpfname:
            # if name:
                return self.get_anki_label(name, 'audio')
    return ''

I use Youdao, here is my fix in /Users/abc123/Library/Application Support/Anki2/addons21/1807206748/service/dict/youdao.py:

    def fld_american_audio(self):
        audio_url = u'http://dict.youdao.com/dictvoice?audio={}&type=2'.format(self.quote_word)
        if youdao_download_mp3:
            filename = get_hex_name(self.unique.lower(), audio_url, 'mp3')
            
            tmpfname = os.environ.get("HOME") + u'/Library/Application Support/Anki2/User 1/' + u'/collection.media/' + filename
            tmpfname = self.download(audio_url, tmpfname)
            if tmpfname:
                return self.get_anki_label(filename, 'audio')

            # if os.path.exists(filename) or self.download(audio_url, filename):
            #    return self.get_anki_label(filename, 'audio')
        return audio_url```

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants