Для создания исполняемого файла (.exe), который запускается без установки, с обфусцированным кодом Python лучше всего использовать связку PyArmor + PyInstaller: 1. Обфускация с PyArmor: - PyArmor шифрует и обфусцирует исходный Python-код, усложняя его анализ и обратную разработку. - Используется командой: ``` pyarmor gen -O dist --recursive путь/к/вашему/проекту ``` или ``` pyarmor gen -O dist --recursive . ``` - Это создаст обфусцированные версии скриптов с сохранением структуры. 2. Упаковка в exe с PyInstaller: - После обфускации используйте PyInstaller, чтобы упаковать проект в единый exe-файл с параметром `--onefile`: ``` pyinstaller --onefile --noconsole ваш_главный_скрипт.py ``` ? python -m PyInstaller --onefile --noconsole run.py ? pyinstaller --onefile --noconsole --paths=./app run.py ? pyinstaller --onefile --hidden-import=eventlet.green --hidden-import=eventlet.green.thread --hidden-import=engineio.async_eventlet --hidden-import=engineio.async_drivers.eventlet --noconsole --paths=./app run.py - Если нужно, добавляйте параметры `--add-data` для ресурсов. 3. Итог: - Итоговый .exe-файл будет содержать интерпретатор Python, все зависимости и обфусцированный код. - Запуск exe не требует предварительной установки Python или зависимостей. - Такой файл удобно выкладывать в релизы GitHub и распространять пользователям. 4. Важные советы: - Всегда тестируйте exe на чистой системе. - PyArmor даёт хорошую защиту, но не абсолютную. - Для повышения безопасности используйте активацию лицензий PyArmor (опционно). - Настройте spec-файл PyInstaller, чтобы включить все необходимые модули и ресурсы. Пример типичного workflow: ```bash # Обфускация pyarmor obfuscate --recursive your_project/ # Переход в обфусцированную папку cd dist/your_project # Создание exe pyinstaller --onefile --noconsole main.py ``` Тогда в папке `dist` появится самодостаточный исполняемый файл. Таким образом, PyArmor + PyInstaller позволяет создать exe с обфусцированным кодом, который не требует установки Python и готов к распространению через GitHub релизы.[1][7][9] [1](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/) [2](https://www.youtube.com/watch?v=15ho_Zg_Kq4) [3](https://www.youtube.com/watch?v=HtiYdCk0_J8) [4](https://www.reddit.com/r/learnpython/comments/144tdhy/obfuscating_python_script/) [5](https://stackoverflow.com/questions/58334936/pack-a-pyarmor-obfuscated-script-to-exe) [6](https://qna.habr.com/q/1055278) [7](https://pyarmor.readthedocs.io/en/v5.7.0/pack-obfuscated-scripts.html) [8](https://github.com/dashingsoft/pyarmor) [9](https://www.cyberforum.ru/python-ide/thread3151287.html) [10](https://www.reddit.com/r/learnpython/comments/1bdsnce/which_one_is_best_for_code_obfuscation/)