vim中的leetcode插件
安装
1.安装依赖
pip install keyring browser-cookie3
2.使用vundle
安装并简单配置
call vundle#begin()
...
Plugin 'ianding1/leetcode.vim'
...
call vundle#end()
"leetcode"
let g:leetcode_china=1 "中国区leetcode"
let g:leetcode_solution_filetype='python3' "默认使用python3"
let g:leetcode_browser='chrome' "登录leetcode-cn.com的浏览器"
问题
leetcode.vim
依赖keyring
按照这里配置使用GnomeKeyring
[backend]
default-keyring=keyring.backends.Gnome.Keyring
vim中执行:LeetCodeSignIn
出现错误browser_cookie3 not installed
明明已经安装过了
-
通过
python
直接导入browser_cookie3
发现原因ModuleNotFoundError: No module named 'keyring.backends.Gnome'
-
查看
keyring
的资料后,发现keyring
把keyring.backends.Gnome.Keyring
单独放到了keyrings.alt
包中 安装keyrings.alt
,有提示RuntimeError: GnomeKeyring module required
GnomeKeyring
是PyGObject里面的,PyGObject是Gtk
python接口,在archlinux中需要安装pygobject-devel
和libgnome-keyring
-
browser-cookie3
无法正确获取chrome
的cookies,只能获取到key,获得的value为空,猜想应该是browser-cookie3
解密cookies时出现了问题。原因就是chrome
更改了对cookie
的加密方法,因此browser-cookie3
无法获取cookie
。 通过更改leetcode.vim
使用pycookiecheat
库获取cookie
也可以。 -
更新browser-cookie3
库也可以解决这个问题Pull -
browser-cookie3
库可以正常使用了。 因此可以尝试从git直接安装browser-cookie3这个库
pip install git+https://github.com/borisbabic/browser_cookie3.git