Dlaczego konwertować PYC na EXE?
Głównym powodem tworzenia pliku .exe jest dystrybucja: spakowany plik wykonywalny działa w systemie Windows bez zainstalowanego Python, co eliminuje konieczność konfiguracji u użytkowników końcowych lub na maszynach, których nie kontrolujesz. Plik .pyc to kod bajtowy (bytecode), który wymaga interpretera Python w czasie wykonywania i nie może działać jako samodzielny plik wykonywalny.
Jak przekonwertować PYC na EXE
PyInstaller FREE
Zainstaluj za pomocą pip install pyinstaller, uruchom pyinstaller --onefile twoj_skrypt.py i znajdź wynikowy plik .exe w folderze dist/. Użyj --noconsole dla aplikacji GUI oraz --icon=app.ico, aby ustawić niestandardową ikonę.
cx_Freeze FREE
Zainstaluj za pomocą pip install cx_Freeze, utwórz plik setup.py ze swoim skryptem jako Executable i uruchom python setup.py build; wynik pojawi się w folderze build/, który musi być dystrybuowany w całości.
O tych formatach
Plik .pyc to skompilowany kod bajtowy Python, który CPython automatycznie buforuje, aby przyspieszyć uruchamianie. Zazwyczaj nie trzeba go otwierać ani modyfikować. Aby go uruchomić, użyj…
Otwórz szczegóły .PYC →Plik EXE to program wykonywalny systemu Windows. W systemie Windows kliknij go dwukrotnie, aby go uruchomić. W systemach Mac lub Linux użyj CrossOver lub Wine - pliki EXE nie działają…
Otwórz szczegóły .EXE →Jakość i na co uważać
- Potrzebujesz plików źródłowych
.py, a nie tylko.pyc; jeśli masz tylko.pyc, najpierw go zdekompiluj, pamiętając, że dekompilacja jest niedoskonała dla wersji Python 3.9 i nowszych. - Wygenerowany plik
.exejest specyficzny dla platformy - budowanie w systemie Windows tworzy plik wykonywalny dla Windows i nie można przeprowadzić kompilacji krzyżowej na inny system operacyjny. - Przetestuj plik
.exena czystym komputerze bez zainstalowanego Python, aby potwierdzić, że wszystkie importy i zależności zostały poprawnie uwzględnione.
Najczęściej zadawane pytania
Jaka jest różnica między PyInstaller a cx_Freeze?
--onefile, który tworzy jeden samodzielny plik .exe; cx_Freeze zawsze generuje folder z plikami, które muszą być przechowywane razem.Czy mogę zbudować .exe bezpośrednio z pliku .pyc?
.py; jeśli masz tylko .pyc, najpierw zdekompiluj go z powrotem do .py.