feat: add PyInstaller support for executable builds
This commit is contained in:
parent
019b8d0794
commit
841bc77330
|
|
@ -0,0 +1,46 @@
|
|||
name: Build Windows Executable
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.11'
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install pyinstaller
|
||||
pip install -r requirements.txt
|
||||
|
||||
- name: Build executable
|
||||
run: |
|
||||
pyinstaller icon_extractor.spec --clean
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: EU-Icon-Extractor-Windows
|
||||
path: dist/EU-Icon-Extractor.exe
|
||||
|
||||
- name: Create Release
|
||||
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
files: dist/EU-Icon-Extractor.exe
|
||||
draft: false
|
||||
prerelease: false
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
|
@ -4,6 +4,12 @@ A standalone tool for extracting item icons from Entropia Universe game cache.
|
|||
|
||||
<img src="icon.ico" width="64" height="64" alt="EU Icon Extractor">
|
||||
|
||||
## Download
|
||||
|
||||
**[Download Latest Release](https://github.com/ImpulsiveFPS/EU-Icon-Extractor/releases/latest)**
|
||||
|
||||
Download `EU-Icon-Extractor.exe` and run it - no installation needed!
|
||||
|
||||
## Description
|
||||
|
||||
Extract item icons from Entropia Universe cache and convert them to PNG format.
|
||||
|
|
@ -12,11 +18,16 @@ Extract item icons from Entropia Universe cache and convert them to PNG format.
|
|||
|
||||
## Usage
|
||||
|
||||
### Option 1: Download Executable (Recommended)
|
||||
1. Download `EU-Icon-Extractor.exe` from [Releases](https://github.com/ImpulsiveFPS/EU-Icon-Extractor/releases/latest)
|
||||
2. Double-click to run - no installation needed!
|
||||
|
||||
### Option 2: Run from Source
|
||||
```bash
|
||||
python icon_extractor.py
|
||||
```
|
||||
|
||||
### Requirements
|
||||
#### Requirements
|
||||
- Python 3.11+
|
||||
- PyQt6: `pip install PyQt6`
|
||||
- Pillow: `pip install Pillow`
|
||||
|
|
@ -51,6 +62,21 @@ Documents\Entropia Universe\Icons\
|
|||
|
||||
Entropia Universe Icon Extractor is a fan-made resource and is not affiliated with [MindArk PE AB](https://www.mindark.com/). [Entropia Universe](https://www.entropiauniverse.com/) is a trademark of MindArk PE AB.
|
||||
|
||||
## Building from Source
|
||||
|
||||
If you want to build the executable yourself:
|
||||
|
||||
```bash
|
||||
# Install dependencies
|
||||
pip install pyinstaller
|
||||
pip install -r requirements.txt
|
||||
|
||||
# Build executable
|
||||
pyinstaller icon_extractor.spec --clean
|
||||
```
|
||||
|
||||
The executable will be in `dist/EU-Icon-Extractor.exe`
|
||||
|
||||
## License
|
||||
|
||||
MIT License - Feel free to use and modify!
|
||||
|
|
|
|||
|
|
@ -0,0 +1,44 @@
|
|||
# PyInstaller spec file for EU Icon Extractor
|
||||
# Usage: pyinstaller icon_extractor.spec
|
||||
|
||||
block_cipher = None
|
||||
|
||||
a = Analysis(
|
||||
['icon_extractor.py'],
|
||||
pathex=[],
|
||||
binaries=[],
|
||||
datas=[('icon.ico', '.'), ('assets/icon.ico', 'assets')],
|
||||
hiddenimports=[],
|
||||
hookspath=[],
|
||||
hooksconfig={},
|
||||
runtime_hooks=[],
|
||||
excludes=[],
|
||||
win_no_prefer_redirects=False,
|
||||
win_private_assemblies=False,
|
||||
cipher=block_cipher,
|
||||
noarchive=False,
|
||||
)
|
||||
|
||||
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
|
||||
|
||||
exe = EXE(
|
||||
pyz,
|
||||
a.scripts,
|
||||
a.binaries,
|
||||
a.zipfiles,
|
||||
a.datas,
|
||||
[],
|
||||
name='EU-Icon-Extractor',
|
||||
debug=False,
|
||||
bootloader_ignore_signals=False,
|
||||
strip=False,
|
||||
upx=True,
|
||||
upx_exclude=[],
|
||||
runtime_tmpdir=None,
|
||||
console=False, # No console window
|
||||
disable_windowed_traceback=False,
|
||||
target_arch=None,
|
||||
codesign_identity=None,
|
||||
entitlements_file=None,
|
||||
icon='icon.ico', # App icon
|
||||
)
|
||||
Loading…
Reference in New Issue