部署应用程序,麻烦引用数据集。流线型

Deploying app, troubles to reffer to datasets. Streamlit

您好,我在使用 Streamlit 部署我的应用程序时遇到了另一个问题。它在本地工作,但是当我想将它上传到 git 集线器时,它不起作用..不知道出了什么问题。文件路径似乎有问题:

"File "/app/streamlit/bobrza.py", line 14, in <module>
    bobrza_locations = pd.read_csv(location)"

这是 link 我的 github 仓库。将非常非常感谢您的帮助。提前致谢。

https://github.com/Bordonous/streamlit

问题是您将 bobrza1.csv 和 route.csv 的路径硬编码到计算机上的路径,因此当 运行 代码在不同环境中时,路径不合法。

解决方案是使位置独立于 运行 环境,为此我们将使用以下内容:

  1. __file__ 变量 - 当前 python 模块(.py 文件)的路径。
  2. os.path.dirname() - 从路径获取目录名称的函数。
  3. os.path.abspath() - 获取路径的规范化绝对化版本的函数。
  4. os.path.join() - 一种连接一个或多个路径组件的函数。

现在您需要将代码中的 location 和 location2 变量更改为以下内容:

# get the absolute path to the directory contain the .csv file
dir_name = os.path.abspath(os.path.dirname(__file__))

# join the bobrza1.csv to directory to get file path
location = os.path.join(dir_name, 'bobrza1.csv')

# join the route.csv to directory to get file path
location2 = os.path.join(dir_name, 'route.csv')

导致bobrza1.csv和route.csv的独立路径。