Skip to content

Commit fb35c5f

Browse files
committed
Update README
1 parent 26e762b commit fb35c5f

File tree

1 file changed

+50
-1
lines changed

1 file changed

+50
-1
lines changed

README.md

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,53 @@ Popular Python virtual environment management tools:
1818
* [12] [nox](nox/README.md)
1919
* [13] [rye](rye/README.md)
2020

21-
Happy Coding!
21+
## Options
22+
23+
#### 1. venv
24+
[`venv`](https://docs.python.org/3/library/venv.html) is a built-in module since Python 3.3 for creating lightweight, isolated Python environments. It provides basic functionality for creating and managing virtual environments.
25+
26+
#### 2. virtualenv
27+
[`virtualenv`](https://virtualenv.pypa.io/en/latest/) is a popular third-party tool for creating isolated Python environments. Compared to `venv`, `virtualenv` offers more features, is extendable & upgrade-able via `pip`, runs faster, and can create virtual environments for any installed Python versions.
28+
29+
#### 3. virtualenvwrapper
30+
[`virtualenvwrapper`](https://virtualenvwrapper.readthedocs.io/en/latest/) is a set of shell scripts that enhance the functionality of `virtualenv`. It simplifies the management of multiple virtual environments by providing commands for creating, deleting, and switching between them.
31+
32+
#### 4. pipenv
33+
[`pipenv`](https://pipenv.pypa.io/en/latest/) is a packaging tool for Python that aims to bring the best of all packaging worlds (bundled, required, and development) to the Python world. It automatically creates and manages a virtual environment for your projects, along with the necessary dependencies.
34+
35+
#### 5. poetry
36+
[`poetry`](https://python-poetry.org/) is a modern dependency management and packaging tool for Python. It not only handles virtual environments but also simplifies the process of declaring and installing project dependencies.
37+
38+
#### 6. pyenv-virtualenv
39+
[`pyenv-virtualenv`](https://github.com/pyenv/pyenv-virtualenv) is a plugin for `pyenv` that provides support for managing virtual environments. It allows you to create and switch between virtual environments easily using `pyenv`.
40+
41+
#### 7. conda
42+
[`conda`](https://docs.conda.io/en/latest/) is a cross-platform package manager and environment manager. It can install and manage packages and dependencies for any language, and it is not Python-specific. It is often used for scientific computing and data science.
43+
44+
#### 8. hatch
45+
[`hatch`](https://github.com/pypa/hatch) is a tool that focuses on project initialization and management. While it can create virtual environments, its primary goal is to streamline the process of creating and distributing Python packages.
46+
47+
#### 9. pdm
48+
[`pdm`](https://github.com/pdm-project/pdm) is a modern Python package manager that emphasizes performance and simplicity. It manages virtual environments, dependencies, and project metadata, aiming to provide a fast and reliable workflow.
49+
50+
#### 10. pew
51+
[`pew`](https://github.com/pew-org/pew) is a lightweight virtual environment manager built on top of `virtualenv` that allows you to create and manage virtual environments easily. It simplifies switching between different environments and provides a clean interface for managing Python installations.
52+
53+
#### 11. tox
54+
[`tox`](https://tox.wiki/) is a testing tool that automates the process of testing code against multiple Python environments. While it's not primarily a virtual environment manager, it often involves creating and managing isolated environments for testing purposes. The configuration file is `tox.ini`.
55+
56+
#### 12 nox
57+
[`nox`](https://nox.thea.codes/en/stable/) is a testing automation tool that focuses on making testing in multiple environments easy. Like `tox`, it's not a dedicated virtual environment manager but often involves creating and managing isolated environments for testing. `nox` uses `noxfile.py` as configuration file.
58+
59+
#### 13 rye
60+
[`rye`](https://github.com/mitsuhiko/rye) is built by [Armin Ronacher](https://github.com/mitsuhiko/rye), it is a personal one-stop-shop for all Python needs, but still an **experimental** package management solution.
61+
62+
63+
## Contact
64+
65+
If you have any question about this opinionated list, do not hesitate to contact me [@jgujerry](https://twitter.com/jgujerry) on X (Twitter) or open an issue on GitHub.
66+
67+
68+
## License
69+
70+
This project is released under [MIT License](LICENSE)

0 commit comments

Comments
 (0)