WSL2中Python虚拟环境使用google-cloud-storage报'google'模块找不到
ModuleNotFoundError: No module named 'google'问题 以下是针对该问题的排查和解决步骤:
确认虚拟环境已正确激活
在WSL2终端中执行激活命令(假设虚拟环境名为venv):source venv/bin/activate确认终端提示符前出现
(venv)前缀,说明虚拟环境已激活。此时执行pip list,检查输出中是否包含google-cloud-storage、google-api-core、google-auth这些依赖包。验证Python和Pip路径
激活虚拟环境后,执行以下命令确认路径指向虚拟环境内部:which python which pip正常输出应为类似
/home/你的用户名/项目目录/venv/bin/python和/home/你的用户名/项目目录/venv/bin/pip,如果指向系统级路径(如/usr/bin/python),说明虚拟环境激活未生效,需检查激活命令是否正确或虚拟环境是否创建成功。强制重装依赖包
依赖包安装不完整可能导致模块缺失,执行以下命令彻底卸载并重装:pip uninstall -y google-cloud-storage google-api-core google-auth googleapis-common-protos pip install google-cloud-storage安装过程中留意输出,确保所有依赖包都被正常安装,无报错信息。
修复虚拟环境目录权限
WSL2中如果虚拟环境目录由root用户创建,可能导致普通用户无法读取模块文件。执行以下命令修改目录权限:sudo chown -R $USER:$USER 你的虚拟环境目录路径例如:
sudo chown -R $USER:$USER venv检查编辑器的Python解释器配置
如果你使用VS Code或其他IDE运行代码,需确保编辑器选择了虚拟环境中的Python解释器。以VS Code为例:
按Ctrl+Shift+P打开命令面板,输入Python: Select Interpreter,选择虚拟环境目录下的bin/python。用最小化代码测试
创建一个简单的测试脚本test.py:from google.cloud import storage print("Google Cloud Storage模块导入成功")激活虚拟环境后执行
python test.py,如果仍报错,说明问题出在环境配置而非业务代码;如果成功,则检查你的业务代码是否有其他路径或环境变量干扰。
内容的提问来源于stack exchange,提问作者Asem Shaath

