Skip to content

Feature: Venvtool package management

Venvtool package management is a wrapper to pip command. It will add additional check and automation for differentiation package for production/development and package upgrades made easy.

Following are supported actions:

  1. Install new package for production.
    venvtools package install <PackageName>
    pip3 install 'PackageName==1.4'

  2. Install new package for development only.
    venvtools package installdev <PackageName>
    pip3 install 'PackageName==1.4'

  3. Install packages from file.
    venvtools package install requirement
    pip install -r requirements.txt

  4. Display selected package information.
    venvtools package info <PackageName>
    pip show <PackageName>

  5. List installed packages.
    venvtools package list
    pip list --not-required

  6. List installed packages plus dependency packages.
    venvtools package list all
    pip list

  7. List installed packages which have update.
    venvtools package outdated
    pip list --outdated --not-required

  8. List installed packages which have update plus dependency packages.
    venvtools package outdated all
    pip list --outdated

  9. Upgrade specific package.
    venvtools package upgrade <PackageName>
    pip install --upgrade <PackageName>

  10. Upgrade all packages.
    venvtools package upgrade all
    pip install --upgrade $(pip list --outdated --format=freeze --disable-pip-version-check | awk '{split($0, a, "=="); print a[1]}')

  11. Uninstall package.
    venvtools package remove <PackageName>
    pip uninstall <PackageName>

  12. Synvc between sitepackages, env registry and project requirement.
    venvtools package sync

Configurable parameters for packages:

  1. Allow proxy to be use for search, install and upgrade.
    VENVTOOLS_PROXY=https://10.47.20.248:8080
    pip --proxy ${VENVTOOLS_PROXY} <....>

  2. Development packages to be install automatically once environment created.
    VENVTOOLS_PACKAGE_DEV=pylint,pyflakes,setuptools,wheel,docutils

  3. Production packages to be install automatically once environment created.
    VENVTOOLS_PACKAGE_PRO=pylint,pyflakes,setuptools,wheel,docutils