SHUHARI 的博客

流光飞舞

分类 Python

Streamlit 入门介绍

Streamlit 入门介绍

前言

Streamlit 是一个 Python Web 应用框架。但和常规 Web 框架,如 Flask/Django 的不同之处在于,它不需要你去编写任何客户端代码(HTML/CSS/JS),只需要编写普通的 Python 模块,就可以在很短的时间内创建美观并具备高度交互性的界面,从而快速生成数据分析或者机器学习的结果;另一方面,和那些只能通过拖拽生成的工具也不同的是,你仍然具有对代码的完整控制权。

也许最令人惊讶的是,我们可以完全抛弃复杂的回调/异步代码,以及服务器/客户端之间繁琐的通信细节,而创建的程序仍然是实时和动态的,这令人耳目一新。尽管 Streamlit 也有它自己的限制,但是在了解它以后,相信你会感叹“原来还有这种操作”(哪怕你并不关心数据分析或机器学习)。

通过本文,我们会了解到 Streamlit 的使用方法,包括各种构建块(Building Block)和编写方法,并初步了解它的运行机制,以及缓存、配置和部署等相关话题。

迷惑行为:Win10 中的 Python

2019-11-30

最近在使用 Python 的时候发生了很奇怪的现象:从命令行执行 python.exe 并不会进入 REPL,似乎也没有其他反应,然而稍等片刻,会看到系统弹出 Windows Store 页面,并定位到 Python App 的详情页。

Python launch Windows Store

这个现象让我很是迷惑了一下,还以为是 Python 运行环境出了什么状况,但很快反应过来,从现象看,应该是 Windows 搞的鬼。

PyInstaller 系列 - Hook 机制

在本系列前面的文章中,我们已经提到过 PyInstaller 的 Hook,不过尚未详细说明它是怎么回事。本文就将介绍关于 Hook 的知识。

注意,本文讲述的内容属于比较高级的部分,一般用户可以如果没有问题的话,可以不用特意去关心它。但是在如果发生下列情况之一,你可能还是需要对 Hook 有点基本的了解:

PyInstaller 系列 - 规格文件

在本系列的 基本用法 篇中我们曾说过,PyInstaller 在生成文件的同时会创建一个相应的 .spec 文件。其实,.spec 文件才是生成过程的真正核心。它本质上是一个特殊的 Python 脚本,其中记录了生成所需的指令,和包管理所使用的 setup.py 在某种程度上有些相似。当熟悉它的格式以后,你也可以按自己的意愿去修改此文件,并且某些特殊场景下修改 .spec 文件是最简便的方法。本文就讲述 spec 文件的格式、原理和一些常用使用案例。

Python 项目可以有多大

Python 项目可以有多大

总是看到有人说,动态一时爽,重构火葬场。然而这世界上有的是著名的开源项目, 也有像 Github、Instagram 这样流量巨大的知名网站是基于动态语言开发的,经过了这么多年重构,也未听说哪个作者进了火葬场的,不明白这些人是真的不知道还是装作看不见呢?不过他们说动态语言大到一定程度就无法维护,虽然这话也同样不值一驳,不过也提醒了我,我也很好奇用动态语言开发的项目规模能大到什么程度。