python - ModuleNotFoundError:将 Streamlit 应用程序部署到 Heroku 时没有名为“google.cloud”的模块
问题描述
我在本地创建了一个 python streamlit 应用程序,我的代码中有以下导入;
import requests
import geopandas as gpd
import numpy as np
import pandas as pd
import plotly.express as px
import plotly.graph_objs as go
import plotly
import matplotlib.pyplot as plt
import streamlit as st
from google.cloud import bigquery
from google.oauth2 import service_account
之后我命令了一个 requirements.txt 文件,它创建了以下内容;
pandas==1.3.2
numpy==1.21.2
plotly==5.2.1
geopandas==0.9.0
requests==2.26.0
streamlit==0.86.0
matplotlib==3.4.3
protobuf==3.17.3
在本地,它工作得很好。我已经成功地将我的应用程序部署到heroku,但是当我运行应用程序时它说;
ModuleNotFoundError:没有名为“google.cloud”的模块
我在我的代码中使用 bigquery 查询并使用 service_account 获取查询结果。
解决方案
要访问 bigquery,您需要将库添加到您的requirements.txt
文件中:
pip install google-cloud-bigquery
推荐阅读
- logstash - 来自多个源的 Logstash 日志处理
- python - Python - 变量名称更改
- elf - 使用“riscv32-unknown-elf-gcc”时如何设置指令和数据内存地址?
- android - 在android中浏览文件系统
- .htaccess - 仅删除 index.php 保留参数
- objective-c - 使用基于 Unity3d 的项目升级 Xcode Objective-C IOS 游戏
- c - 为什么全局指针不能重新指向另一个对象,而本地指针可以?
- go - 有没有办法在 go 中读取服务器应用程序内的 IP 连接标头?
- rust - 如何制作特征别名?
- python - 当引号内的逗号时,熊猫读取 csv 会感到困惑