1) Запускать приложение у себя на сервере по платной подписке;
2) Не использовать python;
3) PyInstaller(код правда скорее всего не защитите, а вот проблем появится вагон и большая тележка).
Короче, либо первый вариант, либо вариант - написать приложение на C/C++. Интерпретируемые ЯП не предназначены(несмотря на наличие костылей) для подобных дел.
Сейчас мода пошла, накопировать много кода с разных уголков интернета, и добавить всё это в один файл. Это разумеется не работает - далее мамкины бизнесмены идут сюда с просьбой переписать код, потом приходят и спрашивают как защитить код)))
Пример:

Похожий вопрос -
Как защитить код?