De vraag is eenvoudig of je een python programma kan compileren. De broncode wordt dan omgezet tot een binair bestand dat rechtstreeks machineinstructies bevat. Het programma kan dan door de computer rechtstreeks uitgevoerd worden, en moet niet eerst door een interpreter omgezet worden. De vewachting is dat hierdoor een in het programma ingeprogrammeerd wachtwoord niet kan gelezen worden. Als je de broncode kan inkijken, kan je ook dat paswoord direct lezen.
Nu is compileren niet zomaar de oplossing. Ook bij gecompileerde programma's kunnen stringconstanten, zoals dat wachtwoord, nog ongewijzgd aanwezig zijn tussen de binaire data. Als de uitvoerbare code gecomprimeerd wordt, dan is er meer kans dat die strings onleesbaar worden.
Ik weet dat pythonprogramma's de eerste keer na uitvoer pseudo-gecompileerd worden om de uitvoering wat te versnellen - typisch zie je dit doordat er naast het bronbestand, vg mijnprogramma.py ook een gecompileerde versie bestaat: mijnprogramma.pyc. Als de pythoninterpreter volgende keer ziet dat het bronbestand recenter is dan het pyc bestand, dan wordt het opnieuw gecompileerd, anders wordt onmiddellijk het pyc bestand uitgevoerd.
Standaard is het in python niet voorzien om één uitvoerbaar bestand te maken. Met pyinstaller zou dit moeten kunnen:
http://www.pyinstaller.org/ . Opnieuw: geen garantie dat door die behandeling je paswoord onleesbaar wordt in de gegenereerde code.