Skip to content

bainningking/fast_share_py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fast Share Py

Fast Share Py 是一个用于快速分享Python应用给其他Windows用户的工具。它通过生成一个自包含的压缩包,使其他用户无需预先安装Python环境和依赖即可运行您的Python应用。

功能特点

  • 🚀 快速分享:一键生成可分享的应用包
  • 🐍 多版本支持:支持Python 3.8至3.13版本
  • 📦 依赖管理:支持requirements.txt和pyproject.toml文件
  • 🔒 代码加密:可选的PyArmor代码加密功能
  • 🖥️ 美观界面:使用CustomTkinter构建的现代化GUI
  • 📁 灵活配置:支持选择应用文件夹、输出目录等

安装

  1. 确保您的系统已安装Python 3.12或更高版本
  2. 克隆此仓库:
    git clone https://github.com/yourusername/fast-share-py.git
    cd fast-share-py
  3. 安装依赖:
    pip install -r requirements.txt
    或使用uv:
    uv sync

使用方法

  1. 运行主程序:
    python main.py
  2. 在GUI界面中:
    • 设置应用名称
    • 选择Python版本(默认3.12)
    • 添加依赖(上传requirements.txt/pyproject.toml或手动输入)
    • 选择应用文件夹和main.py文件
    • 选择输出目录(默认桌面)
    • 可选:启用PyArmor加密
  3. 点击"生成应用"按钮
  4. 生成的压缩包将保存在指定的输出目录中

分享应用

将生成的压缩包分享给其他用户,他们只需:

  1. 解压压缩包
  2. 双击运行"启动.bat"
  3. 应用将自动下载所需环境并启动

生成的应用包结构

app_name/
├── app/                    # 应用文件夹
│   ├── main.py            # 主程序文件
│   ├── (其他应用文件)      # 从应用文件夹复制的文件
│   └── pyproject.toml     # 项目配置(如果上传了)
├── .python-version        # Python版本信息
├── pyproject.toml         # 项目配置
├── 启动.bat              # 启动脚本
└── 卸载.bat              # 卸载脚本

启动脚本功能

启动.bat脚本会自动:

  1. 下载并安装uv包管理器
  2. 安装指定版本的Python
  3. 创建虚拟环境
  4. 安装项目依赖
  5. 运行main.py

PyArmor加密

启用PyArmor加密后,main.py文件将被混淆处理,增加反编译难度。请注意:

  • 加密后的文件可能略微增大
  • 加密过程需要额外时间
  • 确保已安装PyArmor:pip install pyarmor

配置

您可以通过修改src/config.py文件来自定义默认设置:

  • 默认Python版本
  • 默认输出目录
  • UV下载镜像
  • 窗口主题和尺寸
  • PyArmor混淆级别

开发

项目采用模块化结构:

  • src/gui.py - GUI界面相关代码
  • src/generator.py - 生成应用包的核心逻辑
  • src/utils.py - 工具函数
  • src/config.py - 配置常量
  • templates/ - BAT脚本模板

许可证

MIT License

贡献

欢迎提交Issue和Pull Request!

更新日志

v0.1.0

  • 初始版本发布
  • 支持基本的应用打包功能
  • 实现GUI界面
  • 添加PyArmor加密选项

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages