Package: vpip
A CLI which aims to provide annpm-like experience when installing Python packages.FeaturesInstall packages to isolated global virtual environments.Executables are linked to the Python Scripts folder so you can still use the CLI without activating the venv.This allows you to install different CLI tools without worrying about dependency conflicts.Install packages to a local virtual environment.Dependencies are stored inrequirements.txt(development) andsetup.cfg/pyproject.toml(production).When removing a package, also remove its sub-dependencies.Easily run commands in the local virtual environment.Generate a lock file (requirements-lock.txt).Installationvpipis hosted on pypi:pip install vpipAfter installing vpip as a CLI, you can use it to install other packages (globally or locally).Usage exampleInstall:vpip install- Create/activate a local venv and install all dependencies.vpip install configupdater- Create/activate a local venv, installconfigupdater, and add to production dependency.vpip install-gyoutube-dl- Create a venv under~/.vpip, installyoutube-dl, and link the executable (youtube-dl.exe) to the script folder.vpip install-ghttps://github.com/eight04/ComicCrawler/archive/refs/heads/master.zip- You can also install global CLI from a URL.Uninstall:vpip uninstall pylint- Activate the local venv, uninstallpylint, and removepylintfrom both dev/prod dependency.Update:vpip update pylint- Upgrade pylint to the compatible version.vpip update pylint--latest- Upgrade pylint to the latest release.Execute command:vpip run python- Launch python REPL in the local venv.vpip run pylint my_proj- Run pylint installed in the local venv.List dependencies:vpip list- List development/production dependencies.vpip list--outdated- List development/production dependencies that are outdated.vpip list-g- List globally installed packages.Compatibilityvpipis a cross-platform CLI. Please report any compatibility issues.Documentationhttps://vpip.readthedocs.io/en/latest/index.htmlSimilar projectspipm- which doesn’t use virtualenv.pipx- likevpip install-g.pdm- a more feature-rich depdenency manager.Changelog0.9.2 (Feb 4, 2024)Fix: ignore unsupported version number inlist--outdated.0.9.1 (Oct 22, 2023)Fix: type error on Python 3.90.9.0 (Oct 22, 2023)Change: bump to python>=3.9, update dependencies.Add: supportpyproject.toml.Add:linkcommand now accepts an optional package name.Fix:install-gerror when using a specifier.Fix: JSON error inpip_api.list_.0.8.0 (Apr 23, 2022)Change: now vpip would try to avoid sub-dependencies conflicts by passing all dependencies topip installwhen installing/updating packages.Fix: nowvpip updatewon’t install packages whose env marker evaluates to false.0.7.0 (Feb 9, 2022)Change: nowwheelis also pre-installed in venv likepip.0.6.0 (Jan 25, 2022)Fix: make sure the script folder is in env variable path whenvpip link.Add: support installing global CLI from a URL.Change:pip_api.installnow accepts multiple packages.Change:vpip updatenow updates sub-dependencies.0.5.0 (Jan 5, 2022)Change: bump topython@3.7+Change: drop pkg_resources, improve performance.Change: don’t use pip internal when finding global scripts folder.Fix: use utf8 encoding when reading/writingsetup.cfgorrequirements.txt.0.4.3 (Jan 31, 2020)Fix: don’t break sub-dependencies when uninstall.0.4.2 (Nov 9, 2019)Fix: generatesetup.pyautomatically if needed.Fix: use utf8 encoding when parsing pip output.0.4.1 (Nov 2, 2019)Nothing is changed. Updated README and corrected some errors.0.4.0 (Nov 1, 2019)Fix: rebuild egg files after doing an incompatible update.Fix: clean unused packages after uninstall.Add:update_venvcommand.Breaking:pip_api.showandpip_api.uninstallnow accept multiple packages.0.3.0 (Oct 31, 2019)Support Unix system.Add: generate a lock file.0.2.3 (Feb 10, 2019)Fix:pypi.is_compatibletreat0.1.0and0.2.0as compatible.Fix: don’t include pre-release when checking updates.Update dependencies.0.2.2 (Feb 2, 2019)Add:linkcommand.0.2.1 (Nov 16, 2018)Add: user defined commands.0.2.0 (Nov 16, 2018)Add documentation.Change: console scripts will be overwritten by default, matching pip’s default behavior.0.1.0 (Nov 13, 2018)First release