Files
mkdocs/docs/macos/python/pip.md
2020-03-13 10:30:44 +01:00

433 lines
9.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# pip
## Installation:
### Installer pip (python 2):
[:fa-link: https://apple.stackexchange.com/questions/209572/how-to-use-pip-after-the-os-x-el-capitan-upgrade](https://apple.stackexchange.com/questions/209572/how-to-use-pip-after-the-os-x-el-capitan-upgrade)
##### Documentation pip:
[:fa-link: https://pip.pypa.io/en/stable/](https://pip.pypa.io/en/stable/)
### Installer pip3 (python 3):
#### Installer pip:
```bash
$ sudo easy_install pip
```
Pour [Python 3](python3.md), **pip** est installé d'origine.
#### Version courrante de pip:
```bash
$ pip3 --version
pip 20.0.2 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
```
#### Mettre à jour pip:
```bash
$ sudo pip install --upgrade pip
```
```bash
$ pip3 install --user --upgrade pip
```
!!! attention
Sur macOS, à cause de SIP (System Integrity Protection), l'installation se fait avec le mot-clé —user
#### Cache:
Linux and Unix
```bash
~/.cache/pip # and it respects the XDG_CACHE_HOME directory.
```
OS X
```bash
~/Library/Caches/pip
```
Windows
```bash
%LocalAppData%\pip\Cache
```
pip peut installer en ignorant le cache:
```bash
$ pip3 --no-cache-dir install mkdocs
```
## Environnement virtuel:
```bash
# Création de l'environnement virtuel
$ python3 -m venv mkdocs_env
# Mise-à-jour
$ mkdocs_env/bin/pip3 install -U pip setuptools
# Installation de mkdocs
$ mkdocs_env/bin/pip3 install mkdocs
# Installation du thème
$ mkdocs_env/bin/pip3 install mkdocs-material pymdown-extensions pygments
# Installation des plugins
$ mkdocs_env/bin/pip3 install mkdocs-pdf-export-plugin mkdocs-minify-plugin
# Installation du plugin depuis les sources
$ mkdocs_env/bin/pip3 install mkdocs-pdf-export-plugin-0.5.5.tar.gz
# Mise-à-jour
$ mkdocs_env/bin/pip3 install -U mkdocs
# Mise-à-jour de l'environnement virtuel
$ python3 -m venv --upgrade mkdocs_env
```
```bash
~/Documents/mydocs master*
# Création d'un nouveau projet
$ ~/Documents/mkdocs_env/bin/mkdocs new
# Démarrage de mkdocs
$ ~/Documents/mkdocs_env/bin/mkdocs serve
INFO - Building documentation...
INFO - Cleaning site directory
```
L'activation n'est pas obligatoire, elle simplifie juste les chemins.
```bash
~/Documents/mydocs master*
$ source ~/Documents/mkdocs_env/bin/activate
~/Documents/mydocs master*
mkdocs_env mkdocs serve
~/Documents/mydocs master*
mkdocs_env deactivate
```
## Modules:
#### Installer des modules (depuis [PyPi](https://pypi.org)):
##### Installer un module:
```bash
$ pip3 install django
```
Les modules sont ici:
`/usr/local/lib/python3.7/site-packages`
`/usr/local/lib/python3.8/site-packages`
##### Installer un module pour l'utilisateur courant (mkdocs):
```bash
$ pip3 install --user mkdocs
```
Les modules sont ici:
`/Users/bruno/Library/Python/3.7/lib/python/site-packages`
#### Installer des modules (depuis une archive):
```bash
$ pip3 install mkdocs-pdf-export-plugin-0.5.5.tar.gz
```
#### Installer des modules (depuis les sources):
```bash
~/Downloads/
$ cd mkdocs-pdf-export-plugin-0.5.5
~/Downloads/mkdocs-pdf-export-plugin-0.5.5
$ pip3 install .
```
#### Installer des modules (depuis un [VCS](https://pip.pypa.io/en/latest/reference/pip_install/#vcs-support)):
```bash
$ pip3 install -e git+https://github.com/zhaoterryy/mkdocs-pdf-export-plugin.git#egg=mkdocs-pdf-export-plugin
# avec un commit
$ pip3 install -e git+https://github.com/zhaoterryy/mkdocs-pdf-export-plugin.git@7c6c82c96490a84b4bd617e21977259f60dd5007#egg=mkdocs-pdf-export-plugin
# avec un tag
$ pip3 install -e git+https://github.com/zhaoterryy/mkdocs-pdf-export-plugin.git@v0.5.3#egg=mkdocs-pdf-export-plugin
$ pip3 install -e "git+ssh://git.example.com/MyProject#egg=MyProject"
```
#### Requirements files:
[*requirements.txt*](https://pip.pypa.io/en/stable/reference/pip_install/#requirements-file-format) est une liste de modules à installer.
```bash
$ pip3 install -r requirements.txt
$ pip3 freeze > requirements.txt
$ pip3 install -r requirements.txt
```
#### Installer une version précise d'un module:
```bash
$ pip3 show tornado
Name: tornado
Version: 5.0
.../...
$ pip3 install tornado==4.5.3
Collecting tornado==4.5.3
Installing collected packages: tornado
Found existing installation: tornado 5.0
Uninstalling tornado-5.0:
Successfully uninstalled tornado-5.0
Successfully installed tornado-4.5.3
$ pip3 install 'tornado>=4.1.0,<4.5.3'
# Installe une version comprise entre 4.1.0 et 4.5.3
$ pip3 install 'tornado~=4.5.2'
# Installe une version “==4.5.*” qui est aussi “>=4.5.2”.
```
#### Désinstaller un module:
```bash
$ pip3 uninstall <module>
```
#### Informations sur un module:
```bash
$ pip3 show <module>
$ pip3 show mkdocs
Name: mkdocs
Version: 0.17.2
Summary: Project documentation with Markdown.
Home-page: http://www.mkdocs.org
Author: Tom Christie
Author-email: tom@tomchristie.com
License: BSD
Location: /Users/bruno/Library/Python/2.7/lib/python/site-packages
Requires: tornado, PyYAML, click, Markdown, Jinja2, livereload
```
#### Installer une liste de modules requis:
```bash
$ pip3 install -r requirements.txt
```
#### Liste des modules installés:
```bash
# --format=columns (par defaut)
$ pip3 list
Package Version
-------------------------------------- ---------
altgraph 0.10.2
backports-abc 0.5
bdist-mpkg 0.5.0
```
```bash
$ pip3 freeze
appnope==0.1.0
attrs==18.2.0
autopep8==1.4.3
backcall==0.1.0
bleach==3.1.0
Click==7.0
decorator==4.3.2
defusedxml==0.5.0
Django==2.1.7
# Exporter la liste
$ pip3 freeze > export_liste_pip.txt
# puis l'importer sur une autre machine
$ pip3 install -r export_liste_pip.txt
# Ou créer un bundle
$ pip3 bundle <nom_du_bundle>.pybundle -r export_liste_pip.txt
# et importer les lib
$ pip3 install <nom_du_bundle>.pybundle
```
#### Liste des modules mis-à-jour:
```bash
$ pip3 list --outdated
Package Version Latest Type
-------------------------------------- -------- ------ -----
altgraph 0.10.2 0.15 wheel
macholib 1.5.1 1.9 wheel
matplotlib 1.3.1 2.1.1 wheel
```
```bash
$ pip3 list --outdated --format=freeze
packaging==16.8
Sphinx==1.7.0
```
```bash
$ pip3 list --outdated --format=columns
Package Version Latest Type
------
packaging 16.8 17.1 wheel
Sphinx 1.7.0 1.7.1 wheel
```
```bash
$ pip3 list --outdated --format=legacy
packaging (16.8) - Latest: 17.1 [wheel]
Sphinx (1.7.0) - Latest: 1.7.1 [wheel]
```
```bash
$ pip3 list --outdated --format=json
[{"name": "packaging", "version": "16.8", "latest_version": "17.1", "latest_filetype": "wheel"}, {"name": "Sphinx", "version": "1.7.0", "latest_version": "1.7.1", "latest_filetype": "wheel"}]
```
#### Mettre à jour un module:
```bash
$ pip3 install --upgrade <module>
$ pip3 install -U django
```
```bash
$ pip3 install --user --upgrade <module>
$ pip3 install --user -U mkdocs-material
```
#### Chercher un module:
```bash
$ pip3 search <module>
$ pip3 search mkdocs-pdf-export-plugin
mkdocs-pdf-export-plugin (0.5.5) - An MkDocs plugin to export content pages as PDF files
INSTALLED: 0.5.5 (latest)
mkdocs-mk2pdf-plugin (0.1.5) - An MkDocs plugin to export content pages as PDF files
INSTALLED: 0.1.5 (latest)
mkdocs-autolinks-plugin (0.2.0) - An MkDocs plugin
mkdocs-with-pdf (0.1.0) - Generate a single PDF file from MkDocs repository
mkdocs-toc-sidebar-plugin (0.1.0) - An MkDocs plugin
mkdocs-tooltipster-links-plugin (0.1.0) - An MkDocs plugin
```
## Dépendances:
#### Montrer les dépendances d'un module:
```bash
$ pip3 show mkdocs | grep Requires
Requires: click, Markdown, PyYAML, Jinja2, tornado, lunr, livereload
```
#### pipdeptree:
Savoir quel module requiert tel module (dépendances inverses):
```bash
$ pipdeptree -r -p mkdocs
mkdocs==1.1
- mkdocs-material==4.6.3 [requires: mkdocs>=1.0]
- mkdocs-minify-plugin==0.2.3 [requires: mkdocs>=1.0.4]
- mkdocs-mk2pdf-plugin==0.1.5 [requires: mkdocs>=0.17]
- mkdocs-pdf-export-plugin==0.5.5 [requires: mkdocs>=0.17]
- mkdocs-windmill==1.0.4 [requires: mkdocs]
- mkpdfs-mkdocs==1.0.1 [requires: mkdocs>=0.17]
```
Montrer les dépendances:
```bash
$ pipdeptree -p mkdocs
mkdocs==1.1
- click [required: >=3.3, installed: 7.1]
- Jinja2 [required: >=2.10.1, installed: 2.11.1]
- MarkupSafe [required: >=0.23, installed: 1.1.1]
- livereload [required: >=2.5.1, installed: 2.6.1]
- six [required: Any, installed: 1.14.0]
- tornado [required: Any, installed: 6.0.4]
- lunr [required: ==0.5.6, installed: 0.5.6]
- future [required: >=0.16.0, installed: 0.18.2]
- six [required: >=1.11.0, installed: 1.14.0]
- Markdown [required: >=3.2.1, installed: 3.2.1]
- setuptools [required: >=36, installed: 46.0.0]
- PyYAML [required: >=3.10, installed: 5.3]
- tornado [required: >=5.0, installed: 6.0.4]
```