mirror of
https://gitea.com/mcereda/oam.git
synced 2026-02-09 05:44:23 +00:00
Added pip article to the KB
This commit is contained in:
57
knowledge base/pip.md
Normal file
57
knowledge base/pip.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# PIP
|
||||
|
||||
Package installer for Python.
|
||||
|
||||
1. [TL;DR](#tldr)
|
||||
2. [Configuration](#configuration)
|
||||
3. [Further readings](#further-readings)
|
||||
|
||||
## TL;DR
|
||||
|
||||
```sh
|
||||
# Install packages.
|
||||
pip install 'yamllint'
|
||||
pip install --user 'ansible'
|
||||
|
||||
# Upgrade packages.
|
||||
pip install -U 'pip'
|
||||
|
||||
# Upgrade the included `pip` executable on Mac OS X.
|
||||
~/Library/Python/3.8/bin/pip3 install --user --upgrade 'pip'
|
||||
|
||||
# Upgrade all currently installed packages.
|
||||
pip install --requirement <(pip freeze | sed 's/==/>=/') --upgrade
|
||||
|
||||
# Generate a list of the outdated packages.
|
||||
pip list --outdated
|
||||
|
||||
# Remove orphaned dependencies.
|
||||
# Requires `pip-autoremove`.
|
||||
pip-autoremove
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
INI format files, on those levels:
|
||||
|
||||
Level | Scope | File locations
|
||||
---|---|---
|
||||
global | System-wide, shared | The `pip` subdirectory in any of the directories defined in `XDG_CONFIG_DIRS` if it exists (i.e. `/etc/xdg/pip/pip.conf`)<br/>`/etc/pip.conf`
|
||||
user | Per-user | `$HOME/.config/pip/pip.conf`<br/>`$HOME/.pip/pip.conf` (legacy)
|
||||
site | Per-environment | `$VIRTUAL_ENV/pip.conf`
|
||||
shell | Active shell session | Value of `PIP_CONFIG_FILE`
|
||||
|
||||
When multiple configuration exist, pip **merges** them in the following order:
|
||||
|
||||
1. shell
|
||||
1. global
|
||||
1. user
|
||||
1. site
|
||||
|
||||
Latter files override values from previous files, i.e. the global timeout specified in the global file will be superseded by the one defined in the user file.
|
||||
|
||||
## Further readings
|
||||
|
||||
- [Configuration]
|
||||
|
||||
[configuration]: https://pip.pypa.io/en/stable/topics/configuration/
|
||||
@@ -18,23 +18,6 @@ F"{name.lower()} is funny."
|
||||
unique_list = list(set(redundant_list))
|
||||
```
|
||||
|
||||
Maintenance:
|
||||
|
||||
```sh
|
||||
# Generate a list of the outdated packages.
|
||||
pip list --outdated
|
||||
|
||||
# Upgrade all packages.
|
||||
pip install --requirement <(pip freeze | sed 's/==/>=/') --upgrade
|
||||
|
||||
# Remove orphaned dependencies.
|
||||
# Requires `pip-autoremove`.
|
||||
pip-autoremove
|
||||
|
||||
# Upgrade the included `pip` executable on Mac OS X.
|
||||
~/Library/Python/3.8/bin/pip3 install --user --upgrade pip
|
||||
```
|
||||
|
||||
## Web servers
|
||||
|
||||
### Flask
|
||||
@@ -93,10 +76,11 @@ python hello.py
|
||||
|
||||
## Further readings
|
||||
|
||||
- [PIP]
|
||||
- [How To Update All Python Packages]
|
||||
- [invl/pip-autoremove]
|
||||
- [Data types]
|
||||
- [F-strings
|
||||
- [F-strings]
|
||||
- [How to filter list elements in Python]
|
||||
- [Logging]
|
||||
- [Flask at first run: do not use the development server in a production environment]
|
||||
@@ -106,6 +90,9 @@ python hello.py
|
||||
- [An intro to threading in Python]
|
||||
- [ThreadPoolExecutor in Python: the complete guide]
|
||||
|
||||
<!-- internal references -->
|
||||
[pip]: ./pip.md
|
||||
|
||||
<!-- external references -->
|
||||
[*args and **kwargs in python]: https://www.geeksforgeeks.org/args-kwargs-python/
|
||||
[an intro to threading in python]: https://realpython.com/intro-to-python-threading/
|
||||
|
||||
Reference in New Issue
Block a user