虚拟环境已安装Web3.py仍提示No module named "web3"问题求助
导入web3模块失败排查步骤
- 第一步:确认运行脚本时虚拟环境处于激活状态
安装web3时你激活了虚拟环境,但运行test.py时如果未激活,系统会调用全局Python解释器(全局未装web3就会报错)。Windows系统激活命令为venv\Scripts\activate,Mac/Linux为source venv/bin/activate,激活后命令行前缀会出现(venv)标识。 - 第二步:验证Python和pip的对应关系
激活虚拟环境后执行以下命令确认版本匹配:
确认输出的python路径指向你的venv目录下的解释器,且pip list输出里能看到web3包。# Windows系统可把which替换成where验证路径 which python3 which pip3 python3 -m pip list | findstr web3 - 第三步:确认脚本执行方式正确
不要直接双击运行test.py,激活虚拟环境后执行python test.py启动脚本。如果用IDE(Pycharm/VSCode等)运行,需要在IDE的解释器选择界面选中当前venv目录下的Python解释器,避免IDE默认调用全局Python。 - 第四步:排查命名冲突
检查当前工作目录下是否存在名为web3.py的文件、或者名为web3的文件夹,这类自定义的命名会覆盖官方的web3模块,导致导入失败,修改自定义文件/文件夹名即可解决。 - 第五步:重新安装web3
如果上述步骤都无效,执行以下命令重装web3:pip uninstall web3 -y python -m pip install web3
内容的提问来源于stack exchange,提问作者whitebat 199
相关产品推荐
相关产品推荐

