PyInstaller will create a single-file executable if you use the --onefile
option (though what it actually does is extracts then runs itself).
There's a simple PyInstaller tutorial here. If you have any questions about using it, please post them...
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…