Ver a proveniência

proofread

master
Dimitri Merejkowsky há 5 anos
ascendente
cometimento
4328a5fa48
1 ficheiros alterados com 27 adições e 7 eliminações
  1. +27
    -7
      sessions/python-11.md

+ 27
- 7
sessions/python-11.md Ver ficheiro

@@ -82,6 +82,8 @@ print(sys.path)
* /usr/lib/python3.7/site-packages
```

* Le chemin courant à la priorité sur la bibliothèque standard!

# À noter

Seul deux des composants sont accessibles en *écriture* par
@@ -127,7 +129,7 @@ Mais comment faire pour le mettre dans `sys.path`?

On peut récupérer les sources et les installer avec `python3 setup.py install --user`

* Quasiment *tous* les projets python on un `setup.py` utilisable de cette façon.
* Quasiment *tous* les projets python ont un `setup.py` utilisable de cette façon.
* On utilise `--user` pour éviter des problèmes de permissions

* Démo!
@@ -181,7 +183,7 @@ cli_ui.info("Ceci est en", cli_ui.bold, "gras")

En fait, `cli-ui` utilise *d'autres* bibliothèques.

Par example:
Par exemple:

```python
headers=["name", "score"]
@@ -218,16 +220,16 @@ setup(
* S'utilise avec `python3 -m pip install --user ...`


# Fonctionalités en plus
# Fonctionnalités en plus

* Peut supprimer quelque chose d'installé - `python3 -m pip uninstall <>`
* Peut supprimer quelque chose installé - `python3 -m pip uninstall <>`
* Peut chercher sur `pypi` directement - `python3 -m pip search <>`
* Peut lister ce qui est installé - `python3 -m pip list`

# Limitations de pip seul

* Il faut penser à utiliser `--user`
* Si le paquet est déjà installé dans le système (genre `/usr/lib/` source linux),
* Si le paquet est déjà installé dans le système (genre `/usr/lib/` sous Linux),
pip ne saura pas le mettre à jour - il faudra passer par le gestionnaire de paquet de
la distribution

@@ -259,11 +261,11 @@ Comment faire pour travailler sur les deux projets?

* Un chemin *isolé* du reste du système.
* Contient un binaire python légèrement différent du binaire ordinaire.
* Se crée avec `python3 -m venv <le chemin>` - sauf sous debian ;-(
* Se crée avec `python3 -m venv <le chemin>` - sauf sous Debian ;-(

# Avec virtualenv

* Vous pouvez aussi install `virtualenv` avec pip puis utiliser `virtualenv`
* Vous pouvez aussi installer `virtualenv` avec pip puis utiliser `virtualenv`

```bash
$ python3 -m pip install virtualenv --user
@@ -290,3 +292,21 @@ Si taper le chemin du virtualenv vous embête, vous pouves
*l'activer* avec `source bin/activate`

Pour sortir: `deactivate`.

# Les règles

* Un virtualenv par projet et par version de Python
* Toujours utiliser pip depuis un virtualenv

C'est plus long, mais ça vous évitera un tas de problèmes ...

# Pour aller plus loin

* `requirements.txt`
* `pipenv`
* `poetry`

Veillez à bien comprendre le problème que ces outils résolvent avant de vous
en servir!

On y reviendra