cisagov / cisagov/development-guide
Add explanation on Python package installation process
- Dominant language
- Python
- Stars
- 282
- Forks
- 72
- PR merge metrics
- No merged PRs in 30d
Description
# 💡 Summary #
We should add to the development guide an explanation for why for Python package installation steps we typically lead with
```console
python -m pip install --upgrade pip setuptools wheel
```
before installing other packages.
## Motivation and context ##
We perform this step in most of our processes because of the need to upgrade [pip] and have [wheel] available. However, there is no explanation anywhere for why this is the case. We should document this here so that we have the rationale for this "on the record".
## Implementation notes ##
Suitably explain why we upgrade [pip] and why we ensure [setuptools] and [wheel] are installed before proceeding with installing the Python packages actually required.
## Acceptance criteria ##
- [ ] An approved pull request adding such documentation is approved and merged.
## Original conversation ##
Is there a reason we can't/shouldn't consolidate this into a single line?
```suggestion
python -m pip install --upgrade build pip setuptools wheel
```
_Originally posted by @dav3r in https://github.com/cisagov/skeleton-python-library/pull/95#discussion_r826077269_
[pip]: https://pypi.org/project/pip/
[setuptools]: https://pypi.org/project/setuptools/
[wheel]: https://pypi.org/project/wheel/
Contributor guide
Assessment
This issue has not been assessed yet.