commit 0bc248fb65deafe8397caf099e75702a976dca5d Author: Mr Lima Date: Sun Nov 2 12:33:15 2025 -0300 Application Descriptor diff --git a/README.md b/README.md new file mode 100644 index 0000000..706d047 --- /dev/null +++ b/README.md @@ -0,0 +1,139 @@ +# 🚀 PyInstaller Automation Tool + +A powerful and interactive Python script that automates the process of creating executables from Python scripts using PyInstaller. This tool provides a user-friendly menu-driven interface to configure and build your applications with ease. + +## 📋 Features + +- 🖥️ **Interactive Menu** - Easy-to-use terminal interface +- ⚡ **Quick Configuration** - Set all PyInstaller options through simple prompts +- 📦 **Multiple Build Modes** - Choose between one-file or one-directory compilation +- 🎯 **Platform-Specific** - Builds for your current operating system +- 🔧 **Customizable Options** - Icon, console mode, optimization levels, and more +- 📁 **Additional Files Support** - Include extra files and directories in your build +- ✅ **Build Summary** - Review your configuration before compiling +- 🛡️ **Error Handling** - Comprehensive error checking and feedback + +## 🚀 Quick Start + +### Prerequisites + +- Python 3.6 or higher +- PyInstaller (will be installed automatically if missing) + +### Installation + +1. **Download the script:** + ```bash + wget https://git.opentty.xyz/fetuber4095/build-python/raw/branch/master/build.py + ``` + +2. **Make it executable (Linux/Mac):** + ```bash + chmod +x build.py + ``` + +### Usage + +1. **Run the script:** + ```bash + python build.py + ``` + +2. **Follow the interactive prompts:** + + - 📜 **Script Path** - Enter the full path to your Python file + - 📦 **Compilation Mode** - Choose between single executable or directory with dependencies + - 🖥️ **Console Mode** - Select whether to show console window or run as GUI application + - ⚡ **Optimization** - Choose Python optimization level + - 🎨 **Custom Icon** - Add a custom icon to your executable + - 📁 **Additional Files** - Include extra files needed by your application + +3. **Review and confirm** the build summary + +4. **Wait for compilation** - The tool will automatically run PyInstaller with your selected options + +## 🛠️ Configuration Options + +### Build Modes +- **One-file**: Creates a single executable containing all dependencies +- **One-directory**: Creates a folder with the executable and all dependency files + +### Console Options +- **With console**: Shows terminal window (ideal for CLI applications) +- **Without console**: Runs as background process (ideal for GUI applications) + +### Optimization Levels +- **No optimization**: Standard compilation +- **Basic optimization (-O)**: Removes assert statements and debug code +- **Maximum optimization (-OO)**: Additional bytecode optimization + +### Additional Features +- **Custom icons** (.ico for Windows, .png for Linux/Mac) +- **File inclusion** - Add data files, images, or configuration files +- **UPX compression** - Reduce executable size (enabled by default) + +## 📁 Output Structure + +After successful compilation, your files will be organized as follows: + +``` +project/ +├── build.py +├── your_script.py +├── dist/ +│ ├── your_script # Linux executable +│ ├── your_script.exe # Windows executable +│ └── your_script/ # Directory mode output +├── build/ +│ └── temporary_files/ +└── your_script.spec # PyInstaller specification file +``` + +## 💡 Usage Examples + +### Basic GUI Application +```bash +python build.py +# Select: One-file, Without console, Add icon +``` + +### Command Line Tool +```bash +python build.py +# Select: One-file, With console, No optimization +``` + +### Application with Data Files +```bash +python build.py +# Select: One-directory, Add additional files (config, images, etc.) +``` + +## 🐛 Troubleshooting + +### Common Issues + +1. **PyInstaller not found** + - The script will automatically offer to install it + - Or install manually: `pip install pyinstaller` + +2. **Missing dependencies** + - Ensure all Python imports in your script are available + - The tool will show PyInstaller's error messages for debugging + +3. **Large executable size** + - Use UPX compression (enabled by default) + - Consider one-directory mode for very large applications + +4. **Anti-virus false positives** + - Some anti-virus software may flag PyInstaller executables +--- + +## 📄 License + +This project is open source and available under the [MIT License](LICENSE). + +## 🙏 Acknowledgments + +- Built with [PyInstaller](https://www.pyinstaller.org/) +- Inspired by the need for simpler executable creation workflows