wakatime是一款可以记录你代码编写时间的优秀插件(至少我是这么认为的),它在诸如VS、VS Code、IDEA等主流IDE(编辑器)下都有相应的扩展。
我的笔记本电脑是Windows 7 64位旗舰版的系统,在VS Code下安装了该扩展,而且按照官方提示的步骤配好了API Key。但是它并不能够正常使用。
而我另一台安装了Windows 10 64位2016LTSB版系统的笔记本电脑,其VS Code上的wakatime就能准确记录coding时间。难道wakatime现在已经不支持Win7了?
带着疑问,我打开Console,发现报错了:
[WakaTime][ERROR] Traceback (most recent call last):
File “C:\Users\travis.virtualenvs\wakatime-MA1_3AY6\Lib\site-packages\PyInstaller\loader\rthooks\pyi_rth_pkgres.py”, line 13, in
File “c:\users\travis.virtualenvs\wakatime-ma1_3ay6\lib\site-packages\PyInstaller\loader\pyimod03_importers.py”, line 623, in exec_module
File “lib\site-packages\pkg_resources_init_.py”, line 35, in
File “c:\users\travis.virtualenvs\wakatime-ma1_3ay6\lib\site-packages\PyInstaller\loader\pyimod03_importers.py”, line 623, in exec_module
File “plistlib.py”, line 65, in
File “c:\users\travis.virtualenvs\wakatime-ma1_3ay6\lib\site-packages\PyInstaller\loader\pyimod03_importers.py”, line 623, in exec_module
File “xml\parsers\expat.py”, line 4, in
ImportError: DLL load failed while importing pyexpat: ��������
[3660] Failed to execute script pyi_rth_pkgres
t.log @ workbench.desktop.main.js:sourcemap:287
$logExtensionHostMessage @ workbench.desktop.main.js:sourcemap:4592
_doInvokeHandler @ workbench.desktop.main.js:sourcemap:4599
_invokeHandler @ workbench.desktop.main.js:sourcemap:4598
_receiveRequest @ workbench.desktop.main.js:sourcemap:4597
_receiveOneMessage @ workbench.desktop.main.js:sourcemap:4596
(anonymous) @ workbench.desktop.main.js:sourcemap:4594
fire @ workbench.desktop.main.js:sourcemap:98
fire @ workbench.desktop.main.js:sourcemap:454
_receiveMessage @ workbench.desktop.main.js:sourcemap:459
(anonymous) @ workbench.desktop.main.js:sourcemap:456
fire @ workbench.desktop.main.js:sourcemap:98
acceptChunk @ workbench.desktop.main.js:sourcemap:452
(anonymous) @ workbench.desktop.main.js:sourcemap:451
t @ workbench.desktop.main.js:sourcemap:461
emit @ events.js:223
addChunk @ _stream_readable.js:309
readableAddChunk @ _stream_readable.js:290
Readable.push @ _stream_readable.js:224
onStreamRead @ internal/stream_base_commons.js:181
[WakaTime][ERROR] Error: Command failed: c:\Users\vm-win7.vscode\extensions\wakatime.vscode-wakatime-4.0.9\wakatime-cli\wakatime-cli.exe --file c:\Users\vm-win7\Desktop\9.txt --plugin “vscode/1.50.1 vscode-wakatime/4.0.9” --write --config c:\Users\vm-win7.wakatime.cfg --log-file c:\Users\vm-win7.wakatime.logTraceback (most recent call last):
File “C:\Users\travis.virtualenvs\wakatime-MA1_3AY6\Lib\site-packages\PyInstaller\loader\rthooks\pyi_rth_pkgres.py”, line 13, in
File “c:\users\travis.virtualenvs\wakatime-ma1_3ay6\lib\site-packages\PyInstaller\loader\pyimod03_importers.py”, line 623, in exec_module
File “lib\site-packages\pkg_resources_init_.py”, line 35, in
File “c:\users\travis.virtualenvs\wakatime-ma1_3ay6\lib\site-packages\PyInstaller\loader\pyimod03_importers.py”, line 623, in exec_module
File “plistlib.py”, line 65, in
File “c:\users\travis.virtualenvs\wakatime-ma1_3ay6\lib\site-packages\PyInstaller\loader\pyimod03_importers.py”, line 623, in exec_module
File “xml\parsers\expat.py”, line 4, in
ImportError: DLL load failed while importing pyexpat: ��������
[3660] Failed to execute script pyi_rth_pkgres
t.log @ workbench.desktop.main.js:sourcemap:287
$logExtensionHostMessage @ workbench.desktop.main.js:sourcemap:4592
_doInvokeHandler @ workbench.desktop.main.js:sourcemap:4599
_invokeHandler @ workbench.desktop.main.js:sourcemap:4598
_receiveRequest @ workbench.desktop.main.js:sourcemap:4597
_receiveOneMessage @ workbench.desktop.main.js:sourcemap:4596
(anonymous) @ workbench.desktop.main.js:sourcemap:4594
fire @ workbench.desktop.main.js:sourcemap:98
fire @ workbench.desktop.main.js:sourcemap:454
_receiveMessage @ workbench.desktop.main.js:sourcemap:459
(anonymous) @ workbench.desktop.main.js:sourcemap:456
fire @ workbench.desktop.main.js:sourcemap:98
acceptChunk @ workbench.desktop.main.js:sourcemap:452
(anonymous) @ workbench.desktop.main.js:sourcemap:451
t @ workbench.desktop.main.js:sourcemap:461
emit @ events.js:223
addChunk @ _stream_readable.js:309
readableAddChunk @ _stream_readable.js:290
Readable.push @ _stream_readable.js:224
onStreamRead @ internal/stream_base_commons.js:181
[WakaTime][ERROR] Unknown Error (4294967295); Check your C:\Users\vm-win7.wakatime.log file for more details
这里一共是3段错误信息,其中第3段是告诉你wakatime出错了,去查看日志。然而我并没有在提示的目录下找到这个文件。第一段告诉你xxx目录下的pyi_rth_pkgres.py脚本不存在。我看了,确实不存在——连C:\Users\travis目录都不存在!
好吧我们来看看第2段,它实际上说的是一个wakatime-cli.exe执行命令失败了。
……
其实在今年(2020年)的早些时候,VS Code下的扩展还没有这个东西。wakatime是用Python开发的,本质是使用自带的Python来运行一个python文件,再附加以必要参数,从而使关键信息发送到wakatime的服务端API,服务端再记录你的编程信息(所以这玩意儿有不可避免的搜集用户个人信息的嫌疑,对个人隐私比较看重的朋友还是不要用它了)。而今年3、4月份的时候,所有的版本扩展都改用了集成的wakatime-cli.exe来替代以前大喇喇地用Python直接执行脚本的方法(实际上还是跑py脚本,只不过这个程序里把执行命令都封装好了),而且自带Python的版本也升到了3.7(现在已经是3.8了)
我打开cmd命令行,原封不动地执行了该命令。结果还是一样,不过乱码的部分变成了“参数错误”。这是它所能提示给我的信息。
等等。
既然wakatime是用Python 3.8跑的,那我先看看Python3.8是怎么安装的……
结果获得了一个重要信息:
Python 3.8需要kb2533623更新才能正常运行。
而Windows 7,并没有预装这个更新。Windows 10能跑,想必是已经有了。
立即下载并安装kb2533623更新,重启计算机,好了,现在能正常记录编程时间了。
#1602809160#