You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+50-1Lines changed: 50 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,4 +18,53 @@ Popular Python virtual environment management tools:
18
18
*[12][nox](nox/README.md)
19
19
*[13][rye](rye/README.md)
20
20
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