Hyperdiv 第一个程序 hello.py 以及端口号等配置

Hyperdiv 简介


Hyperdiv 是一个旨在最小化工具的Python框架 复杂性和你必须输入的代码量 构建响应式浏览器UI应用。

官网链接: https://hyperdiv.io/

个人感觉比较好用,另外比较有意思的还有:

其他的像 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

就会显示:
image

如果想要修改端口号,或者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

posted @   BrianSun  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示