-
Notifications
You must be signed in to change notification settings - Fork 0
Wiki Info
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.
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.
- π¨ 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
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 |
-
Download the latest release
# Visit the releases page and download the source code https://github.com/yourusername/py-to-exe-converter/releases/latest -
Extract the files
unzip py-to-exe-converter-v1.0.0.zip cd py-to-exe-converter -
Install dependencies
pip install -r requirements.txt
-
Clone the repository
git clone https://github.com/yourusername/py-to-exe-converter.git cd py-to-exe-converter -
Install dependencies
pip install -r requirements.txt
# Coming soon!
pip install py-to-exe-converterAfter installation, verify everything works:
python main.py --helpYou should see the interactive interface start up.
-
Permission Errors: Try
pip install --user -r requirements.txt - Python Version: Ensure you're using Python 3.7+
-
Virtual Environment: Consider using
venvfor isolated installations
-
Launch the converter
python main.py
-
Enter your script path
Path to Python file: my_script.py -
Configure basic options
Executable name: MyApp Output directory: dist Build as single file? Yes Windowed (no console)? No -
Build and wait The tool will show progress and notify you when complete.
-
Find your executable
Executable located in: dist/MyApp.exe
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
| 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 |
- 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)
- Hidden Imports: Comma-separated list of modules to include
- Exclude Modules: Modules to exclude from the bundle
- Runtime Hooks: Custom initialization scripts
-
Add Data: Additional files to include (
source;destinationformat) - Add Binary: Binary files to include
- UPX Directory: Path to UPX for compression
- Strip: Remove debug information
- Key: Encryption key for bytecode
- Codesign Identity: macOS code signing
- Entitlements File: macOS entitlements
Enable developer mode for advanced PyInstaller control:
- Spec Path: Custom .spec file location
- Work Path: Temporary build directory
- Python Path: Alternative Python executable
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 scriptSave and reuse configurations:
# config.py
config = {
"last_input": "my_script.py",
"last_output": "dist",
"last_onefile": True,
"last_windowed": False
}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: distCreate 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!")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=allfor detailed output
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
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
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
Enable debug options for troubleshooting:
Debug: Yes
Verbose: Yes
Clean: Yes
- Check this wiki for common solutions
- Search existing issues on GitHub
- Create a new issue with detailed information
- Join discussions for community help
PyInstaller generates several log files in the build directory:
-
warn-*.txt: Warnings and potential issues -
xref-*.html: Cross-reference of included modules
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.
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.
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.
- π 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
- Fork the repository
-
Clone your fork
git clone https://github.com/EmanuelPlays/PythonToExeConverter
-
Create a branch
git checkout -b feature/amazing-feature
- Make changes
- Test thoroughly
- Submit a pull request
- Follow PEP 8 guidelines
- Use descriptive variable names
- Add docstrings to functions
- Test your changes
- Update this wiki for new features
- Keep README current
- Add examples for complex features
The application consists of:
- Interactive Mode: Rich-powered console interface
- Configuration Parser: Converts user input to PyInstaller args
- Command Builder: Constructs the final PyInstaller command
- Process Runner: Executes the build with progress feedback
- 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