- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 streamlit 和 gpt 索引来创建某种虚拟测试网站。我不断收到同样的错误。
from gpt_index import GPTListIndex, readers, GPTSimpleVectorIndex, LLMPredictor, PromptHelper, download_loader
from langchain import OpenAI
import logging
import sys
import os
import streamlit as st
os.environ['OPENAI_API_KEY'] = "I am deleting my api key from this post"
fileup = st.file_uploader(label=" ")
SimpleDirectoryReader = download_loader("SimpleDirectoryReader")
loader = SimpleDirectoryReader(fileup)
documents = loader.load_data()
index = GPTSimpleVectorIndex(documents)
index.save_to_disk('index.json')
question = st.text_input("What do you want me to do with the file uploaded?")
response = index.query(question)
st.write(response)
为什么我不断收到“TypeError:预期的 str、bytes 或 os.PathLike 对象,而不是 NoneType”?
这是完整的错误:
Traceback (most recent call last):
File "/home/appuser/venv/lib/python3.9/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 565, in _run_script
exec(code, module.__dict__)
File "/app/indextest/streamlit_app.py", line 16, in <module>
loader = SimpleDirectoryReader(fileup)
File ".modules/file.py", line 67, in __init__
self.input_dir = Path(input_dir)
File "/usr/local/lib/python3.9/pathlib.py", line 1082, in __new__
self = cls._from_parts(args, init=False)
File "/usr/local/lib/python3.9/pathlib.py", line 707, in _from_parts
drv, root, parts = self._parse_args(args)
File "/usr/local/lib/python3.9/pathlib.py", line 691, in _parse_args
a = os.fspath(a)
TypeError: expected str, bytes or os.PathLike object, not NoneType
最佳答案
根据 Streamlit 文档,st.file_uploader
要么返回 None
,要么返回一个 UploadedFileObject
(可以用作“类文件” "对象):
https://docs.streamlit.io/library/api-reference/widgets/st.file_uploader
它没有明确提及它,但据推测,如果没有文件上传,它会返回 None
。我们无法告诉您为什么没有上传文件。
在您的情况下,这意味着 fileup
变量是 None
,这是 SimpleDirectoryReader
的无效参数,如错误消息所示.
文档中的示例包含一个 if
语句,仅当返回值不是 None
时才继续执行脚本。您或许也应该这样做。
关于python - 使用 Streamlit file_uploader 后 "TypeError: expected str, bytes or os.PathLike object, not NoneType",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75440754/
我正在尝试实现 PathLike 对象并使用 fspath 命令从 fspath 函数检索 o/p。 我期望的是,如果将 PathLike 对象传递给 fspath 函数,它应该返回 fspath 的
我想使用以下命令将文件 POST 到 Flask 应用程序: curl -X POST http://url_of_lambda_function.com -F 'file=@/path/to/fil
我有一个 user_post.html 页面让用户上传他们的文件(gif、mp4)或图片,但是当我点击确认时我会收到错误提示 - expected str, bytes or os.PathLike
我正在尝试使用需要文件对象列表的 pdfkit 库调用 Python (3.8) 函数。我只有字符串,所以我需要将每个字符串写入一个临时文件,我将在函数返回后将其删除。我可以为此推出自己的解决方案,但
我正在尝试将文件上传到另一台服务器。我正在尝试这样做: package = Package.objects.get(id=package_id) with open(package.logo_im
我正在尝试使用 ffmpeg 将 mp4 视频转换为 jpeg 帧: from __future__ import unicode_literals import argparse import f
我得到了这段代码,它应该根据登录的用户名创建一个文件夹,并将他们上传的文件保存在该文件夹中。 我的问题是它抛出这个错误代码 expected str, bytes or os.PathLike obj
我是 Django 框架的新手。当我在设置中使用 MEDIA_ROOT = os.path.join(BASE_DIR, 'media'), 命令时,当我尝试在 http://127.0.0.1:80
我是 Django 框架的新手。当我在设置中使用 MEDIA_ROOT = os.path.join(BASE_DIR, 'media'), 命令时,当我尝试在 http://127.0.0.1:80
我有一个方法来读取 Newick 文件并在 Django 框架中返回一个字符串,如下所示: def handle_uploaded_file(f): output = " " for
我正在尝试使用 pysinstaller 和 Python 3.7.2 从 .py 文件构建一个 .exe 文件。 它适用于 Python 3.6;然后我重新安装了最新版本的 Python (3.7.
我正在尝试 Django 教程。出于某种原因,我现有的 super 用户被删除了;创建那个很顺利,但我不能再做一个。当我尝试使用 pip 时也会发生这种情况。 我没有更改库中的任何内容,所以不确定为什
我正在测试用户的创建,但由于给出的错误 TypeError: expected str, bytes or os.PathLike object, not NoneType,测试没有达到失败的测试。
在我的 Python 项目中,我尝试使用 refextract从 pdf 文件解析一些数据,但我无法使用它的 extract_references_from_file 功能。 我正在使用网站上提到的示
我最近更新了 pyqtdeploy 到其最新版本 (3.1.0) 不幸的是,我收到了无法解决的错误代码。 $ pyqtdeploy Traceback (most recent call last):
我正在尝试在 Pycharm 中运行此代码,但出现以下错误: TypeError: expected str, bytes or os.PathLike object, not NoneType 这适
我正在尝试使用此处的示例打开、读取、修改和关闭 json 文件: How to add a key-value to JSON data retrieved from a file with Pyth
我正在尝试将管道分隔的文本文件转换为 CSV 文件,然后遍历并打印 CSV 文件。这是我的代码: with open("...somefile.txt", "r") as text_file:
当我尝试使用 pip 安装 PubNub 时,出现 TypeError: pip install pubnub 回溯: Traceback (most recent call last):
这个问题已经有答案了: Getting Type error while opening an uploaded CSV File (5 个回答) 已关闭 5 年前。 def post(self, r
我是一名优秀的程序员,十分优秀!