Skip to main content

Create a virtual environment with venv or virtualenv

Project description

A simple script to encapsulate venv and virtualenv creation in one. venv is always used if possible; if it’s not, virtualenv will be used (if specified) as the fallback option.

This file can be used either as a standalone script, or a module to import.

Python API

create(python, env_dir, system, prompt, bare, virtualenv_py=None)
  • python should be an absolute path pointing to a Python executable. If this is not None, and does not match sys.executable, that interpreter is launched as a subprocess to run this script. Otherwise, the creation is done in-process (subprocesses may still be run in steps during the creation).

  • env_dir points to the directory to create the new virtual environment.

  • system specifies whether system site packages will be available for the created virtual environment.

  • prompt specifies the prompt prefix used in the created virtual environment’s activate scripts.

  • bare, if True, prevents any third-party libraries from being installed. This means you will not have Setuptools, pip, and Wheel available inside the created virtual environment.

  • virtualenv_py should be an absolute path pointing to a virtualenv.py script. This is optional; if missing, virtualenv will not be used to create a virtual environment.

Command line API

virtenv env_dir --python PYTHON [--system] [--prompt PROMPT]

Meanings of arguments are similar to the Python API.

The python argument is required, and can be a version, such as 3.7. A suitable Python executable will be looked up automatically if possible.

When is venv used

As mentioned above, venv is always preferred if possible. virtualenv is used for the following scenarios:

  • When the module venv is not available in the target Python.

  • When the module ensurepip is not available in the target Python. This generally happens for Python 3.3, or distributions such as Debian that don’t like to bundle ensurepip. Without it, pip wouldn’t be available, and we don’t want that.

  • When sys.real_prefix is set. This usually means the target Python is managed by a virtualenv, and venv is known to have problems working in this situation. See discussion in bpo-30811 and pypa/virtualenv#1095 for more information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

virtenv-0.3.0.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

virtenv-0.3.0-py2.py3-none-any.whl (5.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file virtenv-0.3.0.tar.gz.

File metadata

  • Download URL: virtenv-0.3.0.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

File hashes

Hashes for virtenv-0.3.0.tar.gz
Algorithm Hash digest
SHA256 0acc9ab7c8a1fd1e6ba5ad2eeba9b82eb75b5778988d1fb8e170acd7c527c36a
MD5 144faaa187277ed71ab2201e15662b40
BLAKE2b-256 f6bb60a7485355044a9834737d7079b22b2c5960431a16d9716080f8698089c1

See more details on using hashes here.

File details

Details for the file virtenv-0.3.0-py2.py3-none-any.whl.

File metadata

  • Download URL: virtenv-0.3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

File hashes

Hashes for virtenv-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 fbcdd9f9320f1d23b3fde4e2d44abca3b479dbfd558baf52b4eb0f3c849f19a2
MD5 237437b5152542580eae26d148f7ea8c
BLAKE2b-256 8658799539abb9637bbdafc1bc07604765125476648a25229b9e1047de1bf646

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page