Hyperdiv 第一个程序 hello.py 以及端口号等配置
Hyperdiv 简介
Hyperdiv 是一个旨在最小化工具的Python框架 复杂性和你必须输入的代码量 构建响应式浏览器UI应用。
官网链接: https://hyperdiv.io/
个人感觉比较好用,另外比较有意思的还有:
-
wxpython 桌面编辑神器,配合 wxFormBuilder 可视化编辑工具十分强大。可以兼容windows和linux
-
flet 即可作为桌面程序,也可以在浏览器上运行,ui十分丝滑。文档https://flet.qiannianlu.com/docs/
-
nicegui 十分强大。参考https://www.cnblogs.com/wuhuacong/p/18463875
其他的像 flask+bootstrap 或者 fastapi 或者 django 就不多赘述了。
下面的内容着重介绍 Hyperdiv 的学习和使用情况,后续会持续更新。
环境准备
# 安装 Hyperdiv
pip install hyperdiv
# 查看 Hyperdiv 文档 (会自动拉起浏览器网页,十分方便)一定要在 cmd 终端运行,不要在 powershell 终端运行 !!!
hyperdiv docs
PS:
hyperdiv docs 会起一个占用本地端口8988的http server,hyperdiv docs 指令需要在 cmd 终端运行,不可以在powershell终端运行,否则 ctrl+c 后,8988 的http server 仍在后台运行。
如果不小心在powershell中运行,然后ctrl+c退出后,再次执行 hyperdiv docs 报错 8988 端口被占用,极有可能是 8988的http server 未退出。需要执行以下命令手动退出进程:
# 1. 查看占用端口号的pid
> netstat -ano|findstr 8988
# 输出如下:
TCP 127.0.0.1:8988 0.0.0.0:0 LISTENING 4212
TCP 127.0.0.1:12126 127.0.0.1:8988 TIME_WAIT 0
TCP [::1]:8988 [::]:0 LISTENING 4212
TCP [::1]:8988 [::1]:12127 ESTABLISHED 4212
TCP [::1]:8988 [::1]:12128 ESTABLISHED 4212
TCP [::1]:8988 [::1]:12140 ESTABLISHED 4212
TCP [::1]:12127 [::1]:8988 ESTABLISHED 22808
TCP [::1]:12128 [::1]:8988 ESTABLISHED 22808
TCP [::1]:12140 [::1]:8988 ESTABLISHED 22808
# 其中 LISTENING 的就是正在运行的进程,进程的pid是 4212
# 2. 查看占用进程的程序
> tasklist|findstr 4212
# 输出如下:
python3.exe 4212 Console 3 87,708 K
# 也可以用这个:
> wmic process where processid=4212 get Name,Commandline
# 输出如下:
CommandLine Name
python D:\python3.10\lib\site-packages\hyperdiv\hyperdiv-docs\start.py python3.exe
# 3. 强制杀死进程
> taskkill /F /PID 4212
# 输出如下:
成功: 已终止 PID 为 4212 的进程。
当然也可以自己写一个批处理脚本自动清理,反正最简单的方式就是直接在 cmd 终端执行 hyperdiv docs
第一个程序 hello.py
创建 hello.py,编辑内容如下:
import hyperdiv as hd
def main():
hd.text("Hello, World!")
hd.run(main)
执行 python hello.py
输出:
Running at http://localhost:8888
Ctrl-C to exit
在浏览器打开 http://localhost:8888
就会显示:
如果想要修改端口号,或者host指定为0.0.0.0,有两种方式:
方式1. 命令行配置环境变量
1.1 cmd 配置环境变量
# 配置变量
set HD_HOST=0.0.0.0
set HD_PORT=65432
# 读取变量
echo %HD_HOST%
# 0.0.0.0
echo %HD_PORT%
# 65432
# 运行程序
python hello.py
# Running at http://0.0.0.0:65432
# Ctrl-C to exit
# TODO: 这里很奇怪的是
# 在浏览器访问 http://0.0.0.0:65432 无法访问,
# 但是可以访问 http://电脑网卡IP:65432
# 和 http://localhost:65432
# 怀疑这一块有bug
1.2 powershell 配置环境变量
# 配置变量
$env:HD_HOST="0.0.0.0"
$env:HD_PORT="65432"
# 读取变量
echo $env:HD_HOST
# 0.0.0.0
echo $env:HD_PORT
# 65432
# 运行程序
python hello.py
# Running at http://0.0.0.0:65432
# Ctrl-C to exit
# TODO: 这里很奇怪的是
# 在浏览器访问 http://0.0.0.0:65432 无法访问,
# 但是可以访问 http://电脑网卡IP:65432
# 和 http://localhost:65432
# 怀疑这一块有bug
1.3 linux shell中 配置环境变量
# 配置变量
export HD_HOST=0.0.0.0
export HD_PORT=65432
# 读取变量
echo $HD_HOST
# 0.0.0.0
echo $HD_PORT
# 65432
# 运行程序
python hello.py
# Running at http://0.0.0.0:65432
# Ctrl-C to exit
# 由于这个linux环境没有界面,通过外网访问 http://ip:65432 是可以的
方式2. os.environ 配置环境变量
修改代码如下:
import hyperdiv as hd
import os
def main():
hd.text("Hello, World!")
os.environ["HD_HOST"] = "0.0.0.0"
os.environ["HD_PORT"] = "65432"
hd.run(main)
直接执行 python hello.py 即可
具体的环境变量和使用方式参考文档:http://localhost:8988/reference/env-variables
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库