Running Python script with QProcess after freeze

I am using PyQt5 and freezing the app using pyinstaller.
This app will create a QProcess to execute a service, which depends on my current virtual environment.

self.p = QtCore.QProcess()
cmd = "-p 8888 -s dist/main/script/addons/meta_proxy.py -k"
params = shlex.split(cmd)
self.p.start("mitmproxy", params) 

How can I run the QProcess from the Python environment that I am freezing? So that the users don’t have to install anything to run their scripts other than my app.

Right now, after freezing, the QProcess uses the default Python2.7 environment installed on the machine.

You can get the Python executable being used by the current script via sys.executable. In a packaged app this will be the Python which is bundled with it.

>>> import sys
>>> sys.executable
'C:\\Users\\Martin\\AppData\\Local\\Programs\\Python\\Python37\\python.exe'

You can take this path and pass it as the first argument to the process, followed by your script name & the parameters you want to pass to the script.