我正在构建一个基本的 Streamlit 应用程序。为了验证用户凭据,我使用了Streamlit的身份验证模块。只有一个问题,代码不起作用!
类型错误:验证。init () 获得参数 'cookie_expiry_days' 的多个值
追溯:
文件“C:\Users_M92\Desktop\Coding\Python\Projects\Personal1\venv\lib\site-packages\streamlit\scriptrunner\script_runner.py”,第 557 行,在 _run_script exec(code, module.dict )
文件“app.py”,第 23 行,authenticator = stauth.Authenticate(names, usernames, hashed_passwords,
顺便说一句,我使用了官方文档中描述的相同代码:
import streamlit as st
import streamlit_authenticator as stauth
names = ['John Smith', 'Rebecca Briggs']
usernames = ['jsmith', 'rbriggs']
passwords = ['123', '456']
hashed_passwords = stauth.Hasher(passwords).generate()
authenticator = stauth.Authenticate(names, usernames, hashed_passwords,
'some_cookie_name', 'some_signature_key', cookie_expiry_days=30)
name, authentication_status, username = authenticator.login('Login', 'main')
if authentication_status:
authenticator.logout('Logout', 'main')
st.write('Welcome *%s*' % (name)) …Run Code Online (Sandbox Code Playgroud) 我想创建一个带有超链接的按钮Streamlit。我想也许可以使用st.button这种语法:[Click Here](https://stackoverflow.com)。但不幸的是这没有成功,它只显示文本,并没有将其作为超链接。我找到了这个解决方法,但这不再有效。我不想使用st.markdown超链接,因为这不会创建按钮。这是一个可重现的示例:
"""
# Streamlit app
"""
import streamlit as st
import pandas as pd
# Button with hyperlink
st.button('[Click Here](https://stackoverflow.com)')
Run Code Online (Sandbox Code Playgroud)
输出:
如您所见,它不会创建超链接。所以我想知道是否有人知道如何在 Streamlit 中创建带有超链接的按钮?
我正在尝试部署一个用streamlit制作的应用程序(还使用streamlit_chat和streamlit_authenticator)。这个应用程序正在利用 llama-index 创建一个包含 chatgpt api 的查询引擎。当我在计算机中声明“streamlit run app.py”时,一切正常,但是当我部署它时,会出现以下错误:
2023-06-07 16:45:28.682 Uncaught app exception
Traceback (most recent call last):
File "/home/appuser/venv/lib/python3.10/site-packages/tenacity/__init__.py", line 382, in __call__
result = fn(*args, **kwargs)
File "/home/appuser/venv/lib/python3.10/site-packages/llama_index/embeddings/openai.py", line 106, in get_embedding
return openai.Embedding.create(input=[text], engine=engine)["data"][0]["embedding"]
File "/home/appuser/venv/lib/python3.10/site-packages/openai/api_resources/embedding.py", line 33, in create
response = super().create(*args, **kwargs)
File "/home/appuser/venv/lib/python3.10/site-packages/openai/api_resources/abstract/engine_api_resource.py", line 149, in create
) = cls.__prepare_create_request(
File "/home/appuser/venv/lib/python3.10/site-packages/openai/api_resources/abstract/engine_api_resource.py", line 106, in __prepare_create_request
requestor = api_requestor.APIRequestor(
File "/home/appuser/venv/lib/python3.10/site-packages/openai/api_requestor.py", line 138, in __init__
self.api_key = key or util.default_api_key()
File "/home/appuser/venv/lib/python3.10/site-packages/openai/util.py", line 186, …Run Code Online (Sandbox Code Playgroud) 我在 Heroku 上构建一个 Web 应用程序并遇到了这个问题:
2020-10-24T03:56:57.857273+00:00 app[web.1]: You can now view your Streamlit app in your browser.
2020-10-24T03:56:57.857320+00:00 app[web.1]:
2020-10-24T03:56:57.857675+00:00 app[web.1]: Network URL: http://172.17.131.6:8501
2020-10-24T03:56:57.857819+00:00 app[web.1]: External URL: http://34.202.9.122:8501
2020-10-24T03:56:57.857932+00:00 app[web.1]:
2020-10-24T03:56:59.458188+00:00 app[web.1]: 2020-10-24 03:56:59.458 Generating new fontManager, this may take some time...
2020-10-24T03:57:41.000000+00:00 app[api]: Build succeeded
2020-10-24T03:57:52.127634+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
2020-10-24T03:57:52.147741+00:00 heroku[web.1]: Stopping process with SIGKILL
2020-10-24T03:57:52.252583+00:00 heroku[web.1]: Process exited with status 137
2020-10-24T03:57:52.301275+00:00 …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 google colab 上开发一个网络应用程序。我想在这个 Web 应用程序中使用我之前训练过的模型制作一个图像分类器。当我在 Web 应用程序中从浏览器中选择要分类的图像时,出现以下错误:
TypeError: 'Image' object is not subscriptable.
Run Code Online (Sandbox Code Playgroud)
我的代码块:
TypeError: 'Image' object is not subscriptable.
Run Code Online (Sandbox Code Playgroud) ngrok tensorflow google-colaboratory streamlit image-classification
所以我目前是使用 Flask api 的新手,我只是想知道如何将 Streamlit 应用程序连接到 Flask api?就像我希望 Streamlit 应用程序使用 Flask api 来提取数据库一样。目前,我的 Streamlit 应用程序位于一个文件夹中,并且包含一个 dockerfile。我的 Flask api 放在一个单独的文件夹中。
Main Folder
Flask-API Folder
- main.py
- requirements.txt
- table1.db
Streamlit application Folder
- app.py
- Dockerfile
- more python files
- requirements.txt
Run Code Online (Sandbox Code Playgroud)
例如,如果用户单击在 Streamlit 上生成图表的复选框,我如何才能让 Streamlit 应用程序进入 Flask-api 文件夹(联系 api)并获取/拉取数据库。我只是想知道我需要将什么添加到我的flask-api 文件夹中的main.py 文件中。
注意:我尝试让 Streamlit 应用程序联系 Flask api 的目的是因为现在 Streamlit 应用程序正在联系另一个 API,并且需要一段时间才能生成图表。
我正在尝试从基于 Hydralit 的 Streamlit(v.1.1.0)应用程序中删除白色间距(如图所示;徽标和主页下方的两个空格。
我尝试过:
# 1
st.markdown(
f""" <style>
.reportview-container .main .block-container{{
padding-top: 0 rem;
padding-right: 0 rem;
padding-left: 0 rem;
padding-bottom: 0 rem;
}} </style> """,
unsafe_allow_html=True,
)
# 2
st.markdown("""
<style>
.css-18e3th9 {
padding-top: 0rem;
padding-bottom: 10rem;
padding-left: 5rem;
padding-right: 5rem;
}
.css-1d391kg {
padding-top: 3.5rem;
padding-right: 1rem;
padding-bottom: 3.5rem;
padding-left: 1rem;
}
</style>
""", unsafe_allow_html=True)
Run Code Online (Sandbox Code Playgroud)
但它们似乎都不起作用;如何压缩布局并有效减少徽标下方和页面第一个标题上方的空间?
我正在使用 streamlit 制作一个基本的可视化应用程序来比较两个数据集,为此我使用了 Marc Skov 从 streamlit 画廊制作的以下示例:
from typing import Dict
import streamlit as st
@st.cache(allow_output_mutation=True)
def get_static_store() -> Dict:
"""This dictionary is initialized once and can be used to store the files uploaded"""
return {}
def main():
"""Run this function to run the app"""
static_store = get_static_store()
st.info(__doc__)
result = st.file_uploader("Upload", type="py")
if result:
# Process you file here
value = result.getvalue()
# And add it to the static_store if not already in
if not value in static_store.values(): …Run Code Online (Sandbox Code Playgroud) 我正在使用 Streamlit,我想要做的是在具有 2 列的容器中显示 2 个图像。
代码如下:
col1, col2 = st.columns(2)
with st.container():
with col1:
st.header('Top Glass Image')
top_image = st.file_uploader('Choose Bottom Glass Image', type='jpg', key=1)
if top_image is not None:
# st.write(top_image)
# st.write({'filename': top_image.name, 'file_type': top_image.type, 'filesize': top_image.size})
st.image(load_image(top_image), width=200)
with col2:
st.header('Bottom Glass Image')
bottom_image = st.file_uploader('Choose Bottom Glass Image', type='jpg', key=2)
if bottom_image is not None:
st.image(load_image(bottom_image), width=200)
Run Code Online (Sandbox Code Playgroud)
屏幕如下所示:
理想情况下,我希望看到 2 个 file_uploader,一旦选择并显示它们,只显示图像。
关于如何做到这一点有什么想法吗?
我使用下面的代码加载经过训练的自定义 Yolov5 模型并执行检测。
import cv2
import torch
from PIL import Image
model = torch.hub.load('ultralytics/yolov5', 'custom',
path='yolov5/runs/train/exp4/weights/best.pt', force_reload=True)
img = cv2.imread('example.jpeg')[:, :, ::-1] # OpenCV image (BGR to RGB)
results = model(img, size=416)
Run Code Online (Sandbox Code Playgroud)
#显示和保存我正在使用的结果:
results.print()
results.save()
results.show()
Run Code Online (Sandbox Code Playgroud)
我的问题是如何将结果保存在不同的目录中,以便我可以在基于网络的应用程序中使用它们。我正在使用 Streamlit,供您参考。例如,目前,结果(图像)保存在运行\检测\exp*中。我想改变它。任何人都可以指导我吗?
我正在尝试将 CSS 文件加载到我的Streamlit项目中,但我不断收到上述错误。我保证,一切看起来都很好。
\n我在与应用程序文件“brookfield.py”相同的目录中创建了一个名为“style”的文件夹。在这个样式文件夹中,我用记事本创建了一个 CSS 文件并将其命名为“style.css”。
\n我使用以下代码加载style.css文件:
\n#---- USE LOCAL CSS ----\ndef local_css(file_name):\n with open(file_name) as f:\n st.markdown(f"<style>{f.read()}</style>", unsafe_allow_html=True)\n\nlocal_css("style/style.css")\nRun Code Online (Sandbox Code Playgroud)\n然而,我\xe2\x80\x99m 收到以下错误:
\n#---- USE LOCAL CSS ----\ndef local_css(file_name):\n with open(file_name) as f:\n st.markdown(f"<style>{f.read()}</style>", unsafe_allow_html=True)\n\nlocal_css("style/style.css")\nRun Code Online (Sandbox Code Playgroud)\n streamlit ×11
python ×7
plotly ×2
button ×1
cloud ×1
detectron ×1
flask ×1
heroku ×1
html ×1
hyperlink ×1
llama-index ×1
ngrok ×1
openai-api ×1
python-3.x ×1
pytorch ×1
sqlite ×1
tensorflow ×1
yolov5 ×1