Hi,
I am trying to create an app in which I will ask users for a specific input (an answer), and if it is correct, I want to display a clue acorrdingly. To do this, I thought to use streamlit + google sheets to store the data
It should be pretty simple and i followed the guide to connect a public google sheet, but falling into this error…
ImportError: cannot import name ‘Iterable’ from ‘collections’ (C:\Program Files\Python310\lib\collections_init_.py)
Traceback:
File "C:\Users\nina.vistisen\PycharmProjects\treasureHunt\venv\lib\site-packages\streamlit\runtime\scriptrunner\script_runner.py", line 556, in _run_script
exec(code, module.__dict__)File "C:\Users\nina.vistisen\PycharmProjects\treasureHunt\main.py", line 2, in <module>
from gsheetsdb import connectFile "C:\Users\nina.vistisen\PycharmProjects\treasureHunt\venv\lib\site-packages\gsheetsdb\__init__.py", line 1, in <module>
from gsheetsdb.db import connectFile "C:\Users\nina.vistisen\PycharmProjects\treasureHunt\venv\lib\site-packages\gsheetsdb\db.py", line 11, in <module>
from gsheetsdb.query import executeFile "C:\Users\nina.vistisen\PycharmProjects\treasureHunt\venv\lib\site-packages\gsheetsdb\query.py", line 11, in <module>
from moz_sql_parser import parse as parse_sqlFile "C:\Users\nina.vistisen\PycharmProjects\treasureHunt\venv\lib\site-packages\moz_sql_parser\__init__.py", line 15, in <module>
from moz_sql_parser.sql_parser import SQLParser, scrub_literal, scrubFile "C:\Users\nina.vistisen\PycharmProjects\treasureHunt\venv\lib\site-packages\moz_sql_parser\sql_parser.py", line 13, in <module>
from mo_parsing.helpers import delimitedList, restOfLineFile "C:\Users\nina.vistisen\PycharmProjects\treasureHunt\venv\lib\site-packages\mo_parsing\__init__.py", line 60, in <module>
from mo_parsing.infix import LEFT_ASSOC, RIGHT_ASSOC, infixNotationFile "C:\Users\nina.vistisen\PycharmProjects\treasureHunt\venv\lib\site-packages\mo_parsing\infix.py", line 4, in <module>
from collections import Iterable
I have used the code from the guide but with links to my public worksheet:
import streamlit as st
from gsheetsdb import connect
# Create a connection object.
conn = connect()
# Perform SQL query on the Google Sheet.
# Uses st.cache to only rerun when the query changes or after 10 min.
@st.cache(ttl=600)
def run_query(query):
rows = conn.execute(query, headers=1)
rows = rows.fetchall()
return rows
sheet_url = st.secrets["public_gsheets_url"]
rows = run_query(f'SELECT * FROM "{sheet_url}"')
# Print results.
for row in rows:
st.write(f"{row.name} has a :{row.pet}:")
Any help would be really appreciated. I’m pretty new to this!