Skip to main content

Manage virtual environments

Project description

Dephell VEnvs

travis appveyor MIT License

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.18.tar.gz (1.9 MB view details)

Uploaded Source

Built Distribution

dephell_venvs-0.1.18-py3-none-any.whl (1.9 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dephell_venvs-0.1.18.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: DepHell/0.8.3

File hashes

Hashes for dephell_venvs-0.1.18.tar.gz
Algorithm Hash digest
SHA256 c7307291b754edba325ab27edeb05d85ee4dd2f1487c48872a1ebfc372bf7a2e
MD5 fdb025b80bed491c652d2df264bc89ea
BLAKE2b-256 7679646c78687f459deb5e7a03568907039cd0c87403540571633b044e53b184

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dephell_venvs-0.1.18-py3-none-any.whl
Algorithm Hash digest
SHA256 bd3ad440702aa9a9dc21bbab9633537fa395296d40451280d40046d9e3372e6d
MD5 c0e0ff2331b9ebacd15037fe78eca493
BLAKE2b-256 a5faf16607d46e79bed41e6f45c61ab701614a4331c8e104b8d710d1b6ba0869

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