This article describes how to activate a Python virtual environment from a script file.
There are numerous modules available for Python to extend its functionality. To install these modules, you create a Python virtual environment and use the pip command.
To actually use these modules in a script or program, you must activate the Python virtual environment that contains them. Depending on your configuration and requirements, you may be able to simply use the virtual environment's bin/activate program for activation, and then run commands from the shell.
In other scenarios, however, you may need to dynamically activate the virtual environment directly from a script or program. One example of such a scenario is a Python CGI script file, which is called directly by the web server. To use a virtual environment's module in such a scenario, use the activate_this.py script to activate the virtual environment directly.
The following sample Python CGI script file demonstrates how to do this. To run this code on your own account, do the following:
#!/usr/bin/python activate_this = "/home/username/pythonenv/bin/activate_this.py" execfile(activate_this, dict(__file__=activate_this)) from module import variable print "Content-type:text/html\r\n\r\n" print '<html>' print '<head>' print '<title>Virtualenv test</title>' print '</head>' print '<body>' print '<h3>If you see this, the module import was successful</h3>' print '</body>' print '</html>'
When you run this script from the command line or load it in your web browser, you should receive the following message:
If you see this, the module import was successful
This indicates that the from module import variable statement succeeded, and the virtual environment's variable is now available for you to use in the script.