You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

迁移Flask项目至新机器后遇No module named 'google'问题求助

Flask项目导入Google Cloud包失败的解决方法

问题背景

旧机器上用PyCharm开发的Flask项目运行正常,克隆到新机器后,执行导入语句时出错:

from google.cloud import firestore, storage

报错信息:

ModuleNotFoundError: No module named 'google'

本地已安装的相关依赖版本:

Python                   3.9.13
google-api-core          2.11.0
google-api-python-client 2.97.0
google-auth              2.17.3
google-auth-httplib2     0.1.0
google-cloud-core        2.3.2
google-cloud-firestore   2.11.1
google-cloud-storage     2.10.0

已尝试的无效操作:

  • 通过pip安装requirements.txt,以及PyCharm自动安装依赖
  • 多次执行升级/安装命令(均提示“Requirement already satisfied”):
    pip3 install --upgrade google-cloud-storage
    pip3 install --upgrade google-cloud-firestore
    pip install google-api-python-client
    pip install --upgrade google-api-python-client
    pip install google-cloud
    pip install google-cloud-storage
    pip install google.cloud.storage
    pip install google.cloud
    
  • 卸载并重新安装google-cloud-storage
  • 修改pyvenv.cfg中的Python安装路径

问题定位

排查发现项目使用自定义名称为wag的虚拟环境(非默认的venv),虽已激活wag环境,但系统仍尝试调用venv环境的路径:

  • pip show google-cloud输出显示包安装在wag环境中:
    Name: google-cloud
    Version: 0.34.0
    Summary: API Client library for Google Cloud
    Home-page: https://github/GoogleCloudPlatform/google-cloud-python
    Author: Google Cloud Platform
    Author-email: googleapis-publisher@google.com
    License: Apache 2.0
    Location: c:\users\owner\pycharmprojects\site\wag\lib\site-packages
    Requires:
    Required-by:
    
  • 执行import sys; print(sys.path)输出,最后两项为错误的venv环境路径:
    ['C:\\Users\\Owner\\Pycharmprojects\\Site', 'C:\\Users\\Owner\\Pycharmprojects\\Site', 'C:\\Users\\Owner\\AppData\\Local\\Programs\\Python\\python39\\python39.zip', 'C:\\Users\\Owner\\AppData\\Local\\Programs\\Python\\python39\\DLLs', 'C:\\Users\\Owner\\AppData\\Local\\Programs\\Python\\python39\\lib', 'C:\\Users\\Owner\\AppData\\Local\\Programs\\Python\\python39', 'C:\\Users\\Owner\\Pycharmprojects\\pythonProject\\venv', 'C:\\Users\\Owner\\Pycharmprojects\\pythonProject\\venv\\lib\\site-packages']
    

进一步发现PyCharm配置异常:

  • 运行/调试配置默认使用venv环境的Python3.9解释器,切换到wag选项时,显示关联的是Python3.12版本(但本地未安装3.12,全局Python版本为3.9.13)
  • 切换到错误的3.12环境后,报错变为:

    ImportError: cannot import name 'firestore' from 'google.cloud' (unknown location)

  • 已知Firestore不支持Python3.10及以上版本,必须使用Python3.9环境

解决步骤

1. 重建Python3.9版本的wag虚拟环境

当前wag环境被错误关联到不存在的3.12版本,直接重建最可靠:

  • 删除现有wag文件夹:
    rmdir /s C:\Users\Owner\PycharmProjects\Site\wag
    
  • 用Python3.9可执行文件创建新虚拟环境:
    C:\Users\Owner\AppData\Local\Programs\Python\Python39\python.exe -m venv wag
    
  • 激活新创建的wag环境:
    C:\Users\Owner\PycharmProjects\Site\wag\Scripts\activate.bat
    
  • 重新安装项目所有依赖:
    pip install -r requirements.txt
    

2. 配置PyCharm使用正确的解释器

  • 打开PyCharm,依次进入File > Settings > Project: Site > Python Interpreter
  • 点击右上角的齿轮图标,选择Add
  • 选择Existing environment,找到新wag环境的Python解释器路径:C:\Users\Owner\PycharmProjects\Site\wag\Scripts\python.exe
  • 点击OK,将该解释器设为项目默认解释器

3. 修正运行/调试配置

  • 点击PyCharm右上角的运行配置下拉框,选择Edit Configurations
  • 找到你的Flask项目运行配置,在Python interpreter选项中选择刚添加的wag(Python3.9)解释器
  • 保存配置后,重新启动项目

4. 验证环境正确性

运行以下代码确认环境配置:

import sys
print(sys.version)
print(sys.path)

正常输出应满足:

  • 显示Python版本为3.9.13
  • sys.path中包含C:\Users\Owner\PycharmProjects\Site\wag\lib\site-packages路径
  • 无多余的venv环境路径

内容的提问来源于stack exchange,提问作者Eye Scream

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 00:45:53