Skip to content

Latest commit

 

History

History
86 lines (63 loc) · 4.51 KB

python-virtual-environments.md

File metadata and controls

86 lines (63 loc) · 4.51 KB

Python environment management tools

Here is a list of different tools and how they relate to venvlink.

Usage: Click the image below to see the svg file (zoomable, with links).

Anaconda / Miniconda

  • The Anaconda is a python distribution that is focused on scientific computing / Data Science, and comes with preinstalled packages.
  • It replaces pip, and venv with conda commands.
  • Comes with new concept called conda environments.

pew (Python Environment Wrapper)

  • Virtual environment management tool, written in python
  • See also: venvlink and pew
  • Was originally a rewrite of virtualenvwrapper and has basically same functionality with cleaner API and multiplatform, multi-shell support.
  • Leverages inve ("inside this virtual environment, (run this command)…")
  • Keeps all virtual environments in single location, which by default is either defined by environment variable XDG_DATA_HOME or WORKON_HOME.
  • Works also on Windows (cmd.exe and Powershell)
  • Integrates with pythonz (Unix only)
  • Python project management tool (replacement for pip, venv, twine, setup.py, ...)
  • The Python Launcher for Windows has been part of CPython since version 3.3
  • The python launcher can be used as a simple python version management tool in Windows.
  • Python version management tool for Unix
  • Does not manage virtual environments. One can use pyenv-virtualenv (Unix) to do that.
  • Virtual environment management. Supports also conda environments.
  • Plugin for pyenv (Unix only)
  • Automatic activation: Uses .python-version files
  • Python version management / python installer for Unix
  • Originally a fork of pythonbrew

pyvenv

This was a short-lived tool (introduced in Python 3.3, deprecated in 3.6) for creating virtual environments and was superceded by python -m venv.

venv

The venv is a module which is included in the CPython standard library since Python 3.3. It is commonly used with command

python -m venv venv

and this is the command venvlink uses internally to create virtual environments.

  • Virtual environment management tool for Windows
  • Works only with Powershell (not with cmd.exe)
  • Creates virtual environments into: WORKON_HOME, or if not defined, to %USERPROFILE%\Envs.
  • Virtual environment management tool for Windows
  • Works only with cmd.exe (not with Powershell)
  • Creates virtual environments into: WORKON_HOME, or if not defined, to %USERPROFILE%\Envs.