A lightweight (~10kB) python venv wrapper for virtual environment management.
Create venv or standard project in simple command line tool.
Based on the built-in venv since python 3.6.
- Python >= 3.6
- python3-venv
Important: In Linux, you should firstly install python3-venv by using:
sudo apt install python3-venv
If you receive warning like /home/USERNAME/.local/bin is not in PATH
you should add
export PATH=/home/USERNAME/local/bin:$PATH
in shell configuration file (e.g. .bashrc
, .zshrc
)
pip install pvw
You can either start a raw project with pvw init
, or just manage virtual envs with core commands .
pvw init PROJ_NAME
Initialize a python project, with a simple template as:
|- pyproject.toml
|- src
|- PROJ_NAME
|- cli.py
|- README.md
|- License
You can decide whether creating a specific env for this project.
Get or set the directory venv_path
where venvs are stored in default.
pvw config get venv_path # get venv_path variable
pvw config set venv_path=PATH/TO/VENV # set venv_path
We use base
as a demo
# show name, path, and size(optional) of existing venvs.
> pvw ls [--show-size]
Name Path Size
--------------------------------------
env1 C:\Users\venvs\env1 199.42MB
env2 C:\Users\venvs\env2 21.83MB
st C:\Users\venvs\st 313.99MB
v2 C:\Users\venvs\v2 21.86MB
v3 C:\Users\venvs\v3 21.85MB
# Create venv `base` in either way:
pvw create base # in default venv path
pvw create ./base # in current directory
pvw create /home/venvs/base # in specific directory
# For Windows
pvw activate base # standard way
pvw base # or a shorter way
deactivate # exit
# For Linux/MacOS
source pvw activate base # standard way
source pvw base # or a shorter way
deactivate # exit
# copy or rename from a existing venv
pvw cp base dev # copy `base` to a new venv `dev`
pvw mv dev foo # rename `dev` to a new venv `foo`
# remove both `dev` and `foo`
pvw rm dev foo
# remove envs that starts with `test`
pvw rm test.*
cd src/pvw
make
sudo make install
The executable binary pvw
and pvw_py
will be installed in your /usr/bin/ directory.
pip install --upgrade build setuptools # skip if already installed
python -m build
pip install dist/pvw-x.x.x.tar.gz # x.x.x is the built version of pvw
- Simplify activate command in Linux/Mac OS
- Enable setting default venv in terminal
- Add unit tests
- Support specific python version (if installed)