标签: streamlit

Streamlit Authenticate.__init__() 获得参数“cookie_expiry_days”的多个值

我正在构建一个基本的 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_pa​​sswords,

顺便说一句,我使用了官方文档中描述的相同代码:

代码

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)

python visual-studio-code streamlit

2
推荐指数
1
解决办法
7303
查看次数

如何在 Streamlit 中创建带有超链接的按钮?

我想创建一个带有超链接的按钮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 中创建带有超链接的按钮?

python button hyperlink streamlit

2
推荐指数
1
解决办法
5223
查看次数

tenacity.RetryError:RetryError[<Future at 0x7f89bc35eb90 state=finished raise AuthenticationError>]

我正在尝试部署一个用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)

python streamlit openai-api llama-index

2
推荐指数
1
解决办法
8241
查看次数

错误 R10(启动超时)-> 在 Heroku 上构建 Streamlit Web 应用程序时,Web 进程无法在启动后 60 秒内绑定到 $PORT

我在 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)

cloud data-visualization heroku plotly streamlit

1
推荐指数
1
解决办法
993
查看次数

类型错误:“图像”对象不可使用 PIL 进行下标

我正在尝试在 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

1
推荐指数
1
解决办法
2万
查看次数

如何让我的 Streamlit 应用程序使用 Flask API 来检索数据?

所以我目前是使用 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,并且需要一段时间才能生成图表。

python sqlite flask streamlit

1
推荐指数
1
解决办法
4607
查看次数

从 Streamlit/Hydralit 中删除标题空白

我正在尝试从基于 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)

在此输入图像描述

但它们似乎都不起作用;如何压缩布局并有效减少徽标下方和页面第一个标题上方的空间?

html python streamlit

1
推荐指数
1
解决办法
5178
查看次数

获取streamlit中上传文件的原始名称

我正在使用 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)

python plotly streamlit

0
推荐指数
1
解决办法
1971
查看次数

如何在图像加载后隐藏streamlit中的file_uploader?

我正在使用 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,一旦选择并显示它们,只显示图像。

关于如何做到这一点有什么想法吗?

python-3.x streamlit

0
推荐指数
1
解决办法
2890
查看次数

如何在不同文件夹中访问yolov5的保存结果?

我使用下面的代码加载经过训练的自定义 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*中。我想改变它。任何人都可以指导我吗?

web-applications pytorch streamlit detectron yolov5

0
推荐指数
1
解决办法
8438
查看次数

我不明白为什么会收到此错误:“FileNotFoundError:[Errno 2]没有这样的文件或目录:'style/style.css'”

我正在尝试将 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")\n
Run 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")\n
Run Code Online (Sandbox Code Playgroud)\n

python streamlit

0
推荐指数
1
解决办法
308
查看次数