Skip to content

Wiki Info

EmanuelPlays edited this page Dec 13, 2025 · 3 revisions

🏠 Py to EXE Converter Wiki

Python PyInstaller Rich Wiki

Welcome to the official Py to EXE Converter Wiki! πŸ“š Your comprehensive guide to mastering Python to executable conversion.

This wiki serves as the central knowledge base for the Py to EXE Converter project. Whether you're a beginner or an advanced user, you'll find detailed guides, tutorials, and troubleshooting tips here.

🏠 Home

What is Py to EXE Converter?

Py to EXE Converter is an interactive Python script that simplifies the process of converting Python applications into standalone executables using PyInstaller. Instead of memorizing complex command-line arguments, users interact with a beautiful console interface that guides them through all available options.

Key Features

  • 🎨 Rich Console Interface: Beautiful, colorful prompts with progress indicators
  • πŸ“‹ Interactive Configuration: Step-by-step setup for all PyInstaller options
  • πŸ’Ύ Persistent Settings: Remembers your preferences between runs
  • πŸ”§ Comprehensive Options: Access to advanced PyInstaller features
  • ❓ Built-in Help: Type 'help' anytime to see current configuration
  • πŸš€ One-Click Builds: Generate executables with minimal effort

πŸ“¦ Installation

System Requirements

Before installing, ensure your system meets these requirements:

Component Minimum Version Recommended
Python 3.7+ 3.9+
PyInstaller 5.0+ Latest
Rich 13.0+ Latest
Operating System Windows 7+ / macOS 10.12+ / Linux Latest

Installation Steps

Method 1: Direct Download

  1. Download the latest release

    # Visit the releases page and download the source code
    https://github.com/yourusername/py-to-exe-converter/releases/latest
  2. Extract the files

    unzip py-to-exe-converter-v1.0.0.zip
    cd py-to-exe-converter
  3. Install dependencies

    pip install -r requirements.txt

Method 2: Git Clone

  1. Clone the repository

    git clone https://github.com/yourusername/py-to-exe-converter.git
    cd py-to-exe-converter
  2. Install dependencies

    pip install -r requirements.txt

Method 3: PIP Install (Future)

# Coming soon!
pip install py-to-exe-converter

Verification

After installation, verify everything works:

python main.py --help

You should see the interactive interface start up.

Common Installation Issues

  • Permission Errors: Try pip install --user -r requirements.txt
  • Python Version: Ensure you're using Python 3.7+
  • Virtual Environment: Consider using venv for isolated installations

πŸš€ Quick Start

Your First Build

  1. Launch the converter

    python main.py
  2. Enter your script path

    Path to Python file: my_script.py
    
  3. Configure basic options

    Executable name: MyApp
    Output directory: dist
    Build as single file? Yes
    Windowed (no console)? No
    
  4. Build and wait The tool will show progress and notify you when complete.

  5. Find your executable

    Executable located in: dist/MyApp.exe
    

Sample Session

Py to EXE Converter (Made By EmanuelPlays)
Configure PyInstaller options via prompts

Path to Python file: hello.py
Executable name (optional, leave blank to use script name):
Output directory: dist
Build as single file? Yes
Windowed (no console)? No
Icon path (optional):
Hidden imports (comma separated, optional):
...
Configuration complete!
Running command: pyinstaller --onefile hello.py
Building.......................................................
Build successful!
Executable located in: dist/hello.exe

βš™οΈ Configuration Options

Basic Options

Option Description Default Example
Script Path Path to your Python file Required C:\projects\myapp.py
Executable Name Name for the output file Script name MyApplication
Output Directory Where to save the executable dist build\release
Single File Create one .exe file True Yes
Windowed Hide console window False No

Advanced Options

Icon and Appearance

  • Icon Path: Path to .ico/.png/.jpg file for the executable icon
  • Version File: Path to version info file (Windows)
  • Manifest: Custom manifest file (Windows)

Dependencies

  • Hidden Imports: Comma-separated list of modules to include
  • Exclude Modules: Modules to exclude from the bundle
  • Runtime Hooks: Custom initialization scripts

Data and Files

  • Add Data: Additional files to include (source;destination format)
  • Add Binary: Binary files to include

Compression and Optimization

  • UPX Directory: Path to UPX for compression
  • Strip: Remove debug information
  • Key: Encryption key for bytecode

Platform Specific

  • Codesign Identity: macOS code signing
  • Entitlements File: macOS entitlements

Developer Options

Enable developer mode for advanced PyInstaller control:

  • Spec Path: Custom .spec file location
  • Work Path: Temporary build directory
  • Python Path: Alternative Python executable

πŸ”§ Advanced Usage

Batch Processing

For processing multiple scripts:

# Create a batch file
echo python main.py > build_all.bat
echo python main.py >> build_all.bat
# Run for each script

Custom Configurations

Save and reuse configurations:

# config.py
config = {
    "last_input": "my_script.py",
    "last_output": "dist",
    "last_onefile": True,
    "last_windowed": False
}

Integration with CI/CD

Example GitHub Actions workflow:

name: Build Executable
on: [push, pull_request]

jobs:
  build:
    runs-on: windows-latest
    steps:
    - uses: actions/checkout@v2
    - name: Set up Python
      uses: actions/setup-python@v2
      with:
        python-version: '3.9'
    - name: Install dependencies
      run: pip install -r requirements.txt
    - name: Build executable
      run: python main.py
      env:
        INPUT_SCRIPT: main.py
        OUTPUT_DIR: dist

Custom Build Scripts

Create automated build scripts:

#!/usr/bin/env python3
import subprocess
import sys

def build_app(script_path, output_dir="dist", onefile=True):
    cmd = [sys.executable, "main.py"]
    # Simulate user input
    inputs = f"{script_path}\n\n{output_dir}\n{'y' if onefile else 'n'}\nn\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
    result = subprocess.run(cmd, input=inputs, text=True, capture_output=True)
    return result.returncode == 0

if __name__ == "__main__":
    success = build_app("my_app.py")
    print("Build successful!" if success else "Build failed!")

πŸ› οΈ Troubleshooting

Common Issues

"Module not found" Errors

Problem: PyInstaller can't find required modules.

Solutions:

  • Use "Hidden Imports" to specify missing modules
  • Check your Python environment has all dependencies
  • Try running with --debug=all for detailed output

Large Executable Size

Problem: Output file is too big.

Solutions:

  • Use "Exclude Modules" to remove unnecessary code
  • Enable UPX compression
  • Consider onefile vs onedir based on distribution needs

Icon Not Showing

Problem: Custom icon doesn't appear.

Solutions:

  • Ensure icon file exists and path is correct
  • Use .ico format (recommended) or .png/.jpg
  • Check file permissions

Build Fails

Problem: Compilation fails with errors.

Solutions:

  • Ensure PyInstaller is properly installed
  • Check Python version compatibility
  • Try "Clean build" option
  • Run with verbose output for more details

Debug Mode

Enable debug options for troubleshooting:

Debug: Yes
Verbose: Yes
Clean: Yes

Getting Help

  1. Check this wiki for common solutions
  2. Search existing issues on GitHub
  3. Create a new issue with detailed information
  4. Join discussions for community help

Log Files

PyInstaller generates several log files in the build directory:

  • warn-*.txt: Warnings and potential issues
  • xref-*.html: Cross-reference of included modules

❓ FAQ

General Questions

Q: Is this better than using PyInstaller directly? A: It's designed for users who prefer interactive prompts over command-line arguments. For automation, direct PyInstaller usage might be better.

Q: Can I use this on any operating system? A: Yes! It works on Windows, macOS, and Linux, producing executables for the current platform.

Q: How do I update the tool? A: Pull the latest changes from Git or download the newest release.

Technical Questions

Q: What's the difference between onefile and onedir? A: Onefile creates a single executable. Onedir creates a folder with the executable and dependencies.

Q: Can I include data files? A: Yes, use the "Add Data" option with source;destination format.

Q: How do hidden imports work? A: They tell PyInstaller to include modules that aren't automatically detected.

Support Questions

Q: Where can I get help? A: Check the wiki, search issues, or start a discussion.

Q: Can I contribute? A: Absolutely! See the Contributing section.

Q: Is this project maintained? A: Yes, actively maintained by EmanuelPlays and the community.


🀝 Contributing

Ways to Contribute

  • πŸ› Report Bugs: Use the issue tracker
  • πŸ’‘ Suggest Features: Start a discussion
  • πŸ“ Improve Documentation: Edit wiki pages
  • πŸ”§ Code Contributions: Submit pull requests
  • πŸ§ͺ Testing: Test on different platforms
  • πŸ“£ Spread the Word: Share with others

Development Setup

  1. Fork the repository
  2. Clone your fork
    git clone https://github.com/EmanuelPlays/PythonToExeConverter
  3. Create a branch
    git checkout -b feature/amazing-feature
  4. Make changes
  5. Test thoroughly
  6. Submit a pull request

Code Style

  • Follow PEP 8 guidelines
  • Use descriptive variable names
  • Add docstrings to functions
  • Test your changes

Documentation

  • Update this wiki for new features
  • Keep README current
  • Add examples for complex features

Architecture

The application consists of:

  1. Interactive Mode: Rich-powered console interface
  2. Configuration Parser: Converts user input to PyInstaller args
  3. Command Builder: Constructs the final PyInstaller command
  4. Process Runner: Executes the build with progress feedback

Future Roadmap

  • GUI Interface: Desktop application version
  • Batch Processing: Handle multiple scripts at once
  • Plugin System: Extensible build pipeline
  • Cross-Compilation: Build for other platforms
  • Configuration Presets: Save and share build configs

This wiki is maintained by the Py to EXE Converter community. Help us improve it!

Last updated: 12/11/2025 at 8:51 PM EST