never test on production server mistake that some developers make is to test their unreleased application on the production server where the user can easily get to it of the many reasons not to test your application on production serverdata loss has to be the most important if you allow users to gain access to an unreleased version of your application that contains bugs that might corrupt the database or other data sourcesthe data could be lost or damaged permanently you also need to realize that you get only one chance to make first impression many soft ware projects fail because users don' use the end result the application is completebut no one uses it because of the perception that the application is flawed in some way users have only one goal in mindto complete their tasks and then go home when users see that an application is costing them timethey tend not to use it unreleased applications can also have secu rity holes that nefarious individuals will use to gain access to your network it doesn' matter how well your security software works if you leave the door open for anyone to come in after they have come ingetting rid of them is nearly impossibleand even if you do get rid of themthe damage to your data is already done recovery from security breaches is notoriously difficult -and sometimes impossible in shortnever test on your production server because the costs of doing so are simply too high because of the manner in which most python applications are used (see for some ideas)you generally don' need to run them in virtual environment after the application has gone to production site most python applications require access to the outside worldand the isolation of virtual environment would prevent that access installing your application using pyinstaller users don' want to spend lot of time installing your applicationno matter how much it might help them in the end even if you can get the user to attempt an installationless skilled users are likely to fail in shortyou need surefire method of getting an application from your system to the user' system installerssuch as pyinstaller (do just that they make nice package out of your application that the user can easily install