streamlit学习笔记一-----初体验

Streamlit是第一个专门针对机器学习和数据科学团队的应用开发框架,它是开发自定义机器学习工具的最快的方法,你可以认为它的目标是取代Flask在机器学习项目中的地位,可以帮助机器学习工程师快速开发用户交互工具。

一. 安装
  1. 正常安装

    1
    2
    3
    4
    5
    6
    7
    $ apt install virtualenv  #建立虚环境
    $ python -m venv virtualenv # 另一种命令
    $ apt install gcc clang cmake build-essential #安装一些组件时,需要C编译器
    $ virtualenv mystreamlit # 缺省己经 --no-site-packages了。新版不用
    $ cd mystreamlit
    $ source bin/activate
    $ pip install streamlit

    2 有时候好慢好慢,咋都安装不上肿么办? 只能换源了。

    1
    2
    pip install streamlit -i https://mirrors.bfsu.edu.cn/pypi/web/simple  
    # 北外的源,更多的源,在前面的文章“pip换源” 中有
    二. 演示,“Hello world”,以及 示例代码
  2. 演示

    1
    $ streamlit hello

    然一浏览器进入 127.0.0.1:8501, 通过左边栏可以选择四个内置小项目并查看其代码,例如分形动画、折线图和层叠地图等,能在网页上点击选择设置一些参数,动态查看效果。

  3. Hello world
    编写例子文件 hello.py

    1
    2
    import streamlist as st
    st.write('Hello world!')
    1
    $ streamlit run hello.py
  4. 例子代码
    编写例子文件 demo.py

1
2
3
4
5
6
#coding:utf8
import streamlit as st
st.markdown('### 三次方计算器 :sunglasses:')
x = st.slider('输入一个数字')
st.write(x, '的三次方为:', x**3)
st.markdown('> Streamlit挺好用 :+1:')
1
$ stream run demo.py

浏览器查看 127.0.0.1:8501 ,支持中文还不错,支持Markdown语法,而且还有表情包

Streamlit的工作方式如下:

a. 对于用户的每一次交互,整个脚本从头到尾执行一遍;
b. Streamlit基于UI组件的状态给变量赋值;
c. 缓存让Streamlit可以避免重复请求数据或重复计算;

三 手机上安装streamlit的试验
  1. termux 0.114版下, 失败。

  2. anlinux-ubuntu20.04下多次失败

  3. anlinux-ubuntu21.04下,开始失败,后来重新安装,只安装了python3.9, 并在虚环境下采用pip3 install streamlit成功。

  4. 一些出错总结

    必须安装gcc
    安装pandas容易出错,可先用 pip –default-timeout=100000 install –upgrade pandas 来安装
    事先安装好 pip install wheel