Skip to content

LongMoon-1/Python-mini

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Python Mini

一个完全独立的轻量级 Python 运行环境,无需在电脑上安装 Python 解释器。单个可执行文件,即拷即用,内置标准库(包括 tkinter、sqlite3 等),支持交互式命令行、脚本运行和多文件管理。

功能特性

  • 内置 Python 解释器,无需单独安装
  • 图形化代码编辑器,支持语法高亮
  • 模拟终端(REPL),支持交互式命令执行
  • 支持 input() 函数交互输入
  • 命令历史记录(上下箭头键浏览)
  • 清屏功能(clear())和命名空间重置(reset())
  • 多文件管理(添加、移除、双击加载)
  • 文件保存:直接保存覆盖或另存为新文件
  • 独立终端窗口,可同时打开多个
  • 智能关闭保护:代码执行中关闭会弹出警告
  • 中断执行按钮(可尝试中断长时间运行的代码)

界面布局

  • 菜单栏:文件(打开文件、打开多个文件、保存到文件、另存为、退出)、帮助(教程、关于)
  • 左侧面板:脚本文件列表,支持添加和移除文件
  • 右侧面板:Python 代码编辑器,支持 Ctrl+Enter 快速运行
  • 底部状态栏:显示当前操作状态和文件信息

基本使用

编写并运行代码

  1. 在右侧编辑器中直接编写或粘贴 Python 代码
  2. 点击“运行代码”按钮或按 Ctrl+Enter
  3. 代码会在新弹出的终端窗口中执行

打开已有文件

  • 通过菜单“文件” -> “打开.py文件”选择文件
  • 或在左侧列表中双击文件
  • 文件内容会加载到编辑器,并自动关联该文件路径

保存文件

  • 如果当前编辑器内容关联了文件(通过打开或双击加载),“保存到文件”菜单可用,点击即可覆盖原文件
  • 使用“另存为”可将编辑器内容保存到新位置,保存后自动关联新文件
  • 点击“清空编辑器”会清除当前关联,“保存到文件”菜单变为禁用状态

使用独立终端

  • 点击“打开独立终端”按钮,弹出黑底绿字的终端窗口
  • 终端完全模拟原生 Python REPL 行为
  • 支持交互式命令输入和输出显示
  • 内置命令:clear()(清屏)、reset()(重置命名空间)、exit() 或 quit()(关闭终端)

运行文件

  • 在左侧列表中添加 .py 文件后,可双击加载到编辑器,然后运行
  • 运行时自动在新终端窗口中执行,不会阻塞主界面

快捷键

快捷键 功能
Ctrl+Enter 运行编辑器中的代码
上箭头 / 下箭头 在终端中浏览历史命令
Alt+F4 关闭终端窗口(触发智能关闭警告)

内置终端命令

命令 功能
clear() 清空终端屏幕
reset() 重置命名空间,清空所有自定义变量
exit() 或 quit() 关闭终端窗口

注意事项

  • 本程序仅支持 Python 标准库,无法使用需要额外安装的第三方库(如 requests、numpy)
  • 如果代码中包含 input(),请在终端窗口中运行(点击运行代码会自动弹出终端)
  • 中断执行功能通过请求机制实现,不一定能立即终止所有类型的代码(特别是死循环或阻塞操作)
  • 终端输出由于 tkinter GUI 特性可能存在一定的刷新延迟,但不影响实际功能

技术原理

  • 重定向 sys.stdin、sys.stdout、sys.stderr 到 tkinter 控件
  • 使用子线程执行用户代码,避免阻塞 GUI 主循环
  • 通过 threading.Event 和 queue 实现 input() 函数的阻塞等待
  • 所有 GUI 更新通过 after() 方法调度到主线程执行
  • 智能关闭:检测代码运行状态,防止误关闭导致数据丢失

关于

Python Mini 是一个完全独立的轻量级 Python 运行环境,无需在电脑上安装 Python 解释器。它打包了 Python 解释器和 tkinter 图形库,适合快速编写和测试 Python 代码,尤其适合在没有 Python 环境的电脑上使用。

About

完全独立的轻量级 Python 运行环境,无需安装 Python 解释器。内置图形化编辑器、模拟终端(REPL)、支持 input() 交互、多文件管理、保存与另存为功能。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages