PyCharm中Python无法导入neo4j模块问题排查
PyCharm中导入Neo4j Driver提示ModuleNotFoundError的解决办法
问题场景
已经安装了Neo4j Driver v1.5.3且Neo4j服务正常运行,运行以下示例代码:
from neo4j.v1 import GraphDatabase uri = "bolt://localhost:7687" driver = GraphDatabase.driver(uri, auth=("neo4j", "password")) def print_friends_of(tx, name): for record in tx.run("MATCH (a:Person)-[:KNOWS]->(f) " "WHERE a.name = {name} " "RETURN f.name", name=name): print(record["f.name"]) with driver.session() as session: session.read_transaction(print_friends_of, "Alice")
在Windows PowerShell中直接运行该脚本成功,但在PyCharm 2018.1.3(专业版)+Python3.6.1环境中失败,报错如下:
Traceback (most recent call last): File "C:/experiment/Cypher.py", line 1, in from neo4j.v1 import GraphDatabase ModuleNotFoundError: No module named 'neo4j' Process finished with exit code 1
通过(venv) >pip freeze确认已安装neo4j-driver==1.5.3等依赖,请问问题出在哪里,该如何解决?
问题原因
这是典型的PyCharm使用的Python解释器与安装依赖的虚拟环境不匹配导致的问题:你在PowerShell中激活了venv虚拟环境并安装了Neo4j Driver,但PyCharm默认可能使用了系统Python解释器或者其他未安装该依赖的虚拟环境,所以找不到neo4j模块。
解决步骤
- 打开PyCharm,点击顶部菜单栏的
File→Settings(快捷键:Ctrl+Alt+S)。 - 在设置窗口中,展开
Project: [你的项目名称]选项,选择Project Interpreter。 - 查看当前显示的解释器路径,确认是否为你创建的
venv虚拟环境中的Python(路径通常为项目根目录下的venv\Scripts\python.exe)。如果不是,点击右上角的齿轮图标,选择Add。 - 在弹出的添加解释器窗口中,选择
Virtualenv Environment,然后勾选Existing environment,通过浏览按钮找到本地venv目录下的python.exe文件,选中后点击OK。 - 回到
Project Interpreter页面,确认已切换到目标虚拟环境,并且在已安装包列表中能看到neo4j-driver==1.5.3。 - 点击
Apply和OK保存设置,重新运行脚本即可解决问题。
额外小技巧
如果不想修改全局解释器设置,也可以直接在PyCharm底部的终端中执行.\venv\Scripts\activate激活虚拟环境,之后再运行脚本,这样也会强制使用装有Neo4j Driver的环境。
内容的提问来源于stack exchange,提问作者Quanti Monati
相关产品推荐
相关产品推荐

