安装Neo4j Python驱动(2019-03-08版)后导入失败求助
解决
ModuleNotFoundError: No module named 'neo4j'及pylint导入错误的方案 从你描述的情况来看,明明已经通过pip install neo4j安装了驱动,也能在已安装包列表里看到它,但就是无法导入还触发pylint报错,大概率是Python解释器环境不匹配或者VS Code的配置没对齐导致的,下面是几个能快速排查解决的步骤:
先确认终端与VS Code的Python解释器是同一个
很多时候问题出在系统里有多个Python版本,pip把包装到了A版本,VS Code却用了B版本。你可以:- 在终端运行
python3 -c "import neo4j; print(neo4j.__file__)",如果能成功打印出包的路径,说明终端环境没问题;如果这里也报错,那就用python3 -m pip install neo4j重新安装,这个命令能确保包安装到当前终端正在使用的Python环境里。 - 对比VS Code右下角显示的解释器路径,和终端里
which python3(Linux/Mac)或where python3(Windows)输出的路径是否一致。如果不一样,点击VS Code右下角的解释器,选择和终端一致的那个版本。
- 在终端运行
让pylint和项目解释器保持同步
pylint有时候会用单独的解释器,导致它找不到你安装的包:- 运行
python3 -m pip show pylint,找到Location字段,这是pylint所在的环境路径。 - 在VS Code的设置里搜索
python.linting.pylintPath,把它设置成该路径下的pylint可执行文件(比如Linux/Mac是Location/bin/pylint,Windows是Location/Scripts/pylint.exe)。 - 也可以在项目根目录创建
.vscode/settings.json文件,强制指定解释器路径:
写完后重启VS Code。{ "python.pythonPath": "/你的/python3.6.8/完整路径" }
- 运行
检查虚拟环境(如果使用了的话)
如果你用了虚拟环境,一定要确保:- 在终端激活虚拟环境后再执行
pip install neo4j; - VS Code里选择的解释器是虚拟环境里的Python版本,而不是系统全局的。
- 在终端激活虚拟环境后再执行
强制刷新VS Code的缓存
有时候VS Code会缓存旧的包信息,你可以按Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac),输入Python: Reload Window,重新加载窗口,让它重新识别已安装的包。如果还是不行,可以尝试删除用户目录下的.pylint.d缓存文件夹,再重启VS Code。
内容的提问来源于stack exchange,提问作者MARCOS VALENTINI




