Skip to main content

Manage virtual environments

Project description

Dephell VEnvs

Manage Python virtual environments.

Installation

Install from PyPI:

python3 -m pip install --user dephell_venvs

Get venv from manager

from pathlib import Path
from dephell_venvs import VEnv, VEnvs

# pass here path with substitutions:
venvs = VEnvs(path=Path() / '{project}-{digest}' / '{env}')

VEnvs gets argument path that is path to the virtual environment with substitutions:

  • {project} - last part of the path to the project.

  • {digest} - short hash of full path to the project to avoid collisions.

  • {env} - name of sub-environment because most of project need more than one environment. For example, tests, docs, tests-py35.

Ways to get VEnv object from VEnvs:

  • venvs.get(project_path, env). Pass here path to the project and sub-environment name and DepHell will substitute them is the path template and return VEnv instance for this path.

  • venvs.get_by_name(name). Pass only name and this will be substituted as {project} and other substitutions ({digest}, {env}) will be just dropped out.

  • venvs.current – returns current active venv if some venv is active.

Example:

venv = venvs.get(project_path=Path('dephell_venvs'), env='pytest')
# VEnv(path=PosixPath('dephell_venvs/pytest'), project='dephell_venvs', env='pytest')

Manage venv

VEnv can be got from VEnvs ot created manually:

venv = VEnv(path=Path('venv'))

Check existence:

venv.exists()
# False

Create and destroy:

venv.create()
venv.destroy()

Some other useful information:

venv.bin_path
# PosixPath('dephell_venvs-njyT/pytest/bin')
venv.lib_path
# PosixPath('dephell_venvs-njyT/pytest/lib/python3.7/site-packages')
venv.python_path
# PosixPath('dephell_venvs-njyT/pytest/bin/python3.7')

venv.prompt
# 'dephell_venvs/pytest'

venv.python
# Python(path=PosixPath('dephell_venvs-njyT/pytest/bin/python3.7'), version='3.7.0', implementation='python', abstract=False)

For details about Python object see dephell_pythons.

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

dephell_venvs-0.1.9.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

dephell_venvs-0.1.9-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file dephell_venvs-0.1.9.tar.gz.

File metadata

  • Download URL: dephell_venvs-0.1.9.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.7.0

File hashes

Hashes for dephell_venvs-0.1.9.tar.gz
Algorithm Hash digest
SHA256 865b014adcccd94b4dd944e080be1b851dbc09403d3db3be44e6cfc6c3fd4027
MD5 0e7349384e7a845a5712aaa3e9118ff9
BLAKE2b-256 da499415079c04ceb2cf303e2a0ed510426196c807e8469cb05e9a565efdefdf

See more details on using hashes here.

File details

Details for the file dephell_venvs-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: dephell_venvs-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.7.0

File hashes

Hashes for dephell_venvs-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 1b03202df59ade667667d2996f0d1ce2339d7376d1b79dda3496dee37725bceb
MD5 cf18e35ad31ed9aa8bf52a902f71d4f0
BLAKE2b-256 0144698ca5ad5786faed9aabd409569130635d49c892ddda7d72053b35b493bc

See more details on using hashes here.

Supported by

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