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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: dephell_venvs-0.1.17.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3

File hashes

Hashes for dephell_venvs-0.1.17.tar.gz
Algorithm Hash digest
SHA256 6e12d058f46a9cab0b2fb4f006a085984b9eb62cb49e7be748bc4e6e8c1a826b
MD5 add6462749699a7154f284cdafb08c60
BLAKE2b-256 3c630e0e82a7d79ca13e2f9f3f399e518f18f601a83fcf820a23749e8feaba6c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dephell_venvs-0.1.17-py3-none-any.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3

File hashes

Hashes for dephell_venvs-0.1.17-py3-none-any.whl
Algorithm Hash digest
SHA256 a73627f57bbcacf28816aa9596018761133d568755720f0770709c3f18bdbab6
MD5 5974d828c2ba729f1c2e3223d50ce1e0
BLAKE2b-256 fd441e156e06d1f28d84584e5b7012f0d0c34e0a6441c18da7155a80e10ca1aa

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