A new script which creates Python 3.3 venvs with Distribute and pipinstalled in them


Vinay Sajip

Python 3.3 includes a script, pyvenv, which is used to create virtual environments. However, Distribute and pip are not installed in such environments- because, though they are popular, they are third-party packages - not part of Python.

The Python 3.3 venv machinery allows customisation of virtual environments fairly readily. To demonstrate how to do this, and to provide at the same time a script which might be useful to people, I've created a script, pyvenvex.py, at


which extends the pyvenv script to not only create virtual environments, but toalso install Distribute and pip into them. The script needs Python 3.3, and one way to use it is:

1. Download the script to a directory in your path, and (on Posix platforms) make it executable.
2. Add a shebang line at the top of your script, pointing to your Python 3.3 interpreter (Posix, and also Windows if you have the PEP 397 launcher which is part of Python 3..3 on Windows).
3. Run the pyvenvex script to create your virtual environments, in place of pyvenv, when you want Distribute and pip to be installedfor you (this is how virtualenv sets up environments it creates). You can run the script with -h to see the command line options available, which area superset of the pyvenv script.


Vinay Sajip


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question