whyliam / whyliam.workflows.youdao

使用有道翻译你想知道的单词和语句
http://blog.naaln.com/2015/05/repeat-create-the-wheel-alfred-plugin-youdao/
MIT License
1.09k stars 133 forks source link

macOS 12.3 中默认已经删除了 Python2,导致该 workflows 失效 #106

Closed superleeyom closed 2 years ago

superleeyom commented 2 years ago

如标题所示,设备:M1 MacBook Pro,今天升级了 macOS 12.3,由于 Apple 默认剔除了 python2 了,导致原有的 alfred 脚本中类似 /usr/bin/python splitargs.py "{query}" "search" 均已失效,换成 /usr/bin/python3 的话,会报错,错误信息如下:

[11:25:24.269] Logging Started...
[11:25:27.864] Youdao[[Script Filter](alfredpreferences:workflows%3Eworkflow%3Euser.workflow.AF7EBDA8-14EF-4C2C-86B6-03E534AAFF5E%3E91C343E7-50D8-4B0D-9034-1C16C20DA8D4)] Queuing argument 'ce'
[11:25:28.963] Youdao[[Script Filter](alfredpreferences:workflows%3Eworkflow%3Euser.workflow.AF7EBDA8-14EF-4C2C-86B6-03E534AAFF5E%3E91C343E7-50D8-4B0D-9034-1C16C20DA8D4)] Script with argv '(null)' finished
[11:25:28.966] ERROR: Youdao[[Script Filter](alfredpreferences:workflows%3Eworkflow%3Euser.workflow.AF7EBDA8-14EF-4C2C-86B6-03E534AAFF5E%3E91C343E7-50D8-4B0D-9034-1C16C20DA8D4)] Code 1: File "youdao.py", line 223
    if re.search(ur"[\u4e00-\u9fa5]+", query.decode('utf8')):
                   ^
SyntaxError: invalid syntax
[11:25:35.291] Youdao[[Script Filter](alfredpreferences:workflows%3Eworkflow%3Euser.workflow.AF7EBDA8-14EF-4C2C-86B6-03E534AAFF5E%3E91C343E7-50D8-4B0D-9034-1C16C20DA8D4)] Queuing argument 'test'
[11:25:35.349] Youdao[[Script Filter](alfredpreferences:workflows%3Eworkflow%3Euser.workflow.AF7EBDA8-14EF-4C2C-86B6-03E534AAFF5E%3E91C343E7-50D8-4B0D-9034-1C16C20DA8D4)] Script with argv '(null)' finished
[11:25:35.352] ERROR: Youdao[[Script Filter](alfredpreferences:workflows%3Eworkflow%3Euser.workflow.AF7EBDA8-14EF-4C2C-86B6-03E534AAFF5E%3E91C343E7-50D8-4B0D-9034-1C16C20DA8D4)] Code 1: File "youdao.py", line 223
    if re.search(ur"[\u4e00-\u9fa5]+", query.decode('utf8')):
                   ^
SyntaxError: invalid syntax
[11:32:05.771] Youdao[[Script Filter](alfredpreferences:workflows%3Eworkflow%3Euser.workflow.AF7EBDA8-14EF-4C2C-86B6-03E534AAFF5E%3E91C343E7-50D8-4B0D-9034-1C16C20DA8D4)] Queuing argument 'test'
[11:32:05.837] Youdao[[Script Filter](alfredpreferences:workflows%3Eworkflow%3Euser.workflow.AF7EBDA8-14EF-4C2C-86B6-03E534AAFF5E%3E91C343E7-50D8-4B0D-9034-1C16C20DA8D4)] Script with argv '(null)' finished
[11:32:05.840] ERROR: Youdao[[Script Filter](alfredpreferences:workflows%3Eworkflow%3Euser.workflow.AF7EBDA8-14EF-4C2C-86B6-03E534AAFF5E%3E91C343E7-50D8-4B0D-9034-1C16C20DA8D4)] Code 1: File "youdao.py", line 223
    if re.search(ur"[\u4e00-\u9fa5]+", query.decode('utf8')):
                   ^

盼修复下,谢谢

DeepinGH commented 2 years ago

遇到相同问题,盼修复,谢谢作者!

superleeyom commented 2 years ago

@DeepinGH 可以考虑使用这个项目:https://github.com/wensonsmith/YoudaoTranslator 目前使用正常

zhugexiaobo commented 2 years ago

简单升级了一下 alfred-workflow-py3,有需要可直接使用 MR #108

zhanggang807 commented 2 years ago

https://www.alfredapp.com/help/kb/python-2-monterey/

ketor commented 2 years ago

12.3也没有内置python3,这个issue就是修成了python3版本,也还是需要用户自己安装python3,苹果这个操作很秀。

DeepinGH commented 2 years ago

@DeepinGH 可以考虑使用这个项目:https://github.com/wensonsmith/YoudaoTranslator 目前使用正常

这个项目有个问题,我无法使用快捷键直接翻译选中的单词。本项目是可以的。在使用习惯上有诸多不爽之处,我想知道是它本身就不支持还是我的使用方式有问题。

superleeyom commented 2 years ago

@DeepinGH 可以考虑使用这个项目:https://github.com/wensonsmith/YoudaoTranslator 目前使用正常

这个项目有个问题,我无法使用快捷键直接翻译选中的单词。本项目是可以的。在使用习惯上有诸多不爽之处,我想知道是它本身就不支持还是我的使用方式有问题。

可以试试楼上兄弟@zhugexiaobo 的那个mr版本

DeepinGH commented 2 years ago

求指点,怎么用楼上兄弟的 MR 版本,是先安装[alfred-workflow-py3]么?作为一个非程序员,为了更方便使用各类软件,已经非常努力看懂大家说的话了。

superleeyom commented 2 years ago

@DeepinGH 下他编译的版本:https://github.com/zhugexiaobo/whyliam.workflows.youdao/blob/master/whyliam.workflows.youdao.alfredworkflow

DeepinGH commented 2 years ago

@DeepinGH 下他编译的版本:https://github.com/zhugexiaobo/whyliam.workflows.youdao/blob/master/whyliam.workflows.youdao.alfredworkflow

感谢您的指点!

DeepinGH commented 2 years ago

@zhugexiaobo zhugexiaobo https://tva2.sinaimg.cn/large/69cb8755ly1h0duh11te4j20wo0aqad5.jpg 好像不太行,使用了 Key 也没反应。

发现有个 Debug 功能,显示如下:

[10:55:56.771] Logging Started... [10:55:58.899] Logging Stopped. [10:56:00.788] Logging Started... [10:56:03.661] Youdao[Script Filter] Queuing argument 'test' [10:56:04.695] Youdao[Script Filter] Script with argv '(null)' finished [10:56:04.696] ERROR: Youdao[Script Filter] Code 1: Traceback (most recent call last): File "youdao.py", line 363, in init_sentry() File "youdao.py", line 73, in init_sentry user_id = get_user_id() File "youdao.py", line 79, in get_user_id user_id = wf.stored_data('user_id') File "/Users/xxx/Dropbox/personal/Software Config/alfred/Alfred.alfredpreferences/workflows/user.workflow.6AF830A0-09F0-4279-9129-51F8E08BE51F/workflow/workflow.py", line 1596, in stored_data raise ValueError( ValueError: Unknown serializer cpickle. Register a corresponding serializer with manager.register() to load this data. Sentry is attempting to send 0 pending error messages Waiting up to 2 seconds Press Ctrl-C to quit

zhugexiaobo commented 2 years ago

@zhugexiaobo zhugexiaobo https://tva2.sinaimg.cn/large/69cb8755ly1h0duh11te4j20wo0aqad5.jpg 好像不太行,使用了 Key 也没反应。

发现有个 Debug 功能,显示如下:

[10:55:56.771] Logging Started... [10:55:58.899] Logging Stopped. [10:56:00.788] Logging Started... [10:56:03.661] Youdao[Script Filter] Queuing argument 'test' [10:56:04.695] Youdao[Script Filter] Script with argv '(null)' finished [10:56:04.696] ERROR: Youdao[Script Filter] Code 1: Traceback (most recent call last): File "youdao.py", line 363, in init_sentry() File "youdao.py", line 73, in init_sentry user_id = get_user_id() File "youdao.py", line 79, in get_user_id user_id = wf.stored_data('user_id') File "/Users/xxx/Dropbox/personal/Software Config/alfred/Alfred.alfredpreferences/workflows/user.workflow.6AF830A0-09F0-4279-9129-51F8E08BE51F/workflow/workflow.py", line 1596, in stored_data raise ValueError( ValueError: Unknown serializer cpickle. Register a corresponding serializer with manager.register() to load this data. Sentry is attempting to send 0 pending error messages Waiting up to 2 seconds Press Ctrl-C to quit

sentry 报错,暂时没空改,先注释掉 sentry 了🤦‍♂️ 代码和包已更新 @DeepinGH 重新下载安装即可

DeepinGH commented 2 years ago

改用了 https://github.com/wensonsmith/YoudaoTranslator ,暂时功能正常,而且支持快捷键选中翻译功能,折腾半天的翻译 WorkFlow 恢复正常。

superleeyom commented 2 years ago

改用了 https://github.com/wensonsmith/YoudaoTranslator ,暂时功能正常,而且支持快捷键选中翻译功能,折腾半天的翻译 WorkFlow 恢复正常。

@DeepinGH 解决就ok,这个不需要依赖 python 环境,作者一直在更新

yiichou commented 2 years ago

@zhugexiaobo https://github.com/zhugexiaobo/whyliam.workflows.youdao/blob/master/whyliam.workflows.youdao.alfredworkflow 这个下载下来还没有你关于 sentry 的最后两个提交,所以仍是有问题的 不排除是 CDN 的问题

建议用 releases 发布一个新的地址吧

zhugexiaobo commented 2 years ago

@zhugexiaobo https://github.com/zhugexiaobo/whyliam.workflows.youdao/blob/master/whyliam.workflows.youdao.alfredworkflow 这个下载下来还没有你关于 sentry 的最后两个提交,所以仍是有问题的 不排除是 CDN 的问题

建议用 releases 发布一个新的地址吧

已重新导出并更新文件🙏🏻

superleeyom commented 2 years ago

先close掉了先,作者似乎已经弃坑了,推荐大家使用这个项目:https://github.com/wensonsmith/YoudaoTranslator