Astuces python 3 : Ajouter(installer), supprimer(désinstaller) et chercher des Packages avec pip

in #utopian-io8 years ago

Ajouter(installer), supprimer(désinstaller) et chercher des Packages avec pip

Introduction

in this article, we will see how to use pip in order to manage Python Packages in sens that we can through pipe install, upgrade, save a package list, uninstall and search for packages .

image.png

Utiliser pip pour gérer les Packages de Python

Python fournit un système de management puissant et facile à utiliser appelé pip qui remplace une ancienne méthode appelé easy_install. d'un point de vue haut niveau, pip a des avantages par rapport à easy_install:

  • Tous les packages sont téléchargés avant l'installation pour éviter l'installation partielle.
  • l'information de sortie est prétraitée , ce qui est plus utile que les messages excentriques.
  • pip garde un enregistrement des raisons pour lesquelles des actions ont été performées. Par exemple, la raison pour laquelle un package est requis est enregistrée.
  • Les packages peuvent être installés comme étant des modules plats, ce qui permet un débogage du code de la bibliothèque plus facile que les archives de Egg.
  • un support natif pour des systèmes de gestion de version. Par exemple, vous pouvez installer un package de Python directement de l'archive GitHub s'il est bien configuré.
  • On peut désinstaller des packages. C'est un grand avantage par rapport à easy_install qui demande au programmer de désinstaller manuellement les packages.
  • Il est facile de définir l'ensemble des critères, par conséquent, il est facile de répéter un ensemble de packages à travers des environnements différents.

Installation de virtualenv et pip pour performer des opérations simples

virtualenv est un moyen pour les environnements de test (sandbox ) Python. Au lieu de modifier l'environnement Python global, virtualenv permet au programmeur de créer des environnements virtuels Python isolés qui sont similaires à des sandboxes. L'avantage du sandboxing de l'environnement Python est que vous pouvez facilement tester votre code sous versions et packages différents de Python sans avoir besoin de basculer entre les machines virtuelles.

Pour installer et configurer pip et virtualenv, exécutez les commandes suivantes:

# easy_install est le gestionnaire de package par défaut  en CPython
% easy_install pip
# Installer virtualenven en utilisant pip
% pip install virtualenv
% virtualenv python-workspace # creer un environnement virtuel sous  le dossier 'python-workspace'

Si votre environnement courant Python ne contient aucun gestionnaire de packages, vous pouvez installer un fichier d'ici (https://raw.githubusercontent.com/pypa/virtualenv/master/virtualenv.py) et l'exécuter:

#  creer un environnement virtuel sous  le dossier 'python-workspace'
% python virtualenv.py python-workspace

Une fois que vous avez configurez le nouveau virtualenc sous 'Python-workspace', vous devez l'activer pour que l'environnement Python dans le shell courant fasse une transition vers virtualenv:

% cd python-workspace
% source ./bin/activate # activer le virtualenv 'python-workspace'
% python # entrer dans un interpreteur shell en exécutant le programme courant virtuel python sous 'python-workspace/bin/python'

Ajouter/installers des packages avec pip

Pour installer un package, utilisez la commande 'install'.

% pip install sqlalchemy # installer le package 'sqlalchemy' et ses dépendances

Parfois, vous aurez besoin d'examiner le code source d'un package avant de l'installer. Par exemple, vous voulez examiner le code source d'une version plus récente d'un package avant de l'installer pour s'assurer que ça va fonctionner avec votre code actuel.

% pip install --download sqlalchemy_download sqlalchemy # installer les archives de  package 'sqlalchemy' dans 'sqlalchemy_download' au lieu de l'installer 
% pip install --no-install sqlalchemy # décortiquer   les archives de  package dans  'python-workspace/build' pour inspection
% pip install --no-download sqlalchemy # installer les   archives du package décortiqué

Si vous voulez installer les dernières nouveautés d'un package, vous pouvez l'installer directement de son Git ou du dépôt de subversion:

% pip install git+https://github.com/simplejson/simplejson.git
% pip install svn+svn://svn.zope.org/repos/main/zope.interface/trunk

L'amélioration d'un package avec pip

Pour les packages installés, vous pouvez les améliorer par:

% pip install --upgrade sqlalchemy # améliorer sqlalchemy si une nouvelle version plus récente est disponble. remarquez que --upgrade va récursivement améliorer sqlalchemy et toutes ces dépendances

Si Vous ne voulez pas d'une amélioration d'un package parallèlement à ses dépendances, vous pouvez faire une amélioration non récursive par:

% pip install --upgrade --no-deps sqlalchemy # améliorer uniquement sqlalchemy sans dépendances

Sauvegarder votre liste de packages

Jusqu'à présent, vous avez installez un ensemble de packages en utilisant pip. Pour tester les packages installés sous un environnement différent, vous pouvez les sauvegarder ou "bloquer" la liste de packages installées dans un fichier de besoin et réinstaller tous les packages en utilisant ce fichier dans un autre environnement:

% pip freeze > mon-env-req.txt # créer une fichier de besoins qui contient la liste de tous les packages installés  dans le  virtualenv courant 'python-workspace'
% virtualenv ../another-python-workspace # creer un nouveau virtualenv 'another-python-workspace'
% cd ../another-python-workspace
% source ./bin/activate #activer  le nouveau virtualenv vide  'another-python-workspace'
% pip install -r ../python-workspace/mon-env-req.txt # installer tous les  packages indiqués dans 'mon-env-req.txt'

Suppression/désinstallation des packages pip

Si jamais, vous constatez que certains packages ne sont plus utile pour votre projet et que vous voulez les supprimer pour nettoyer virtualenv, vous pouvez désinstaller simplement un package en écrivant ceci:

% pip uninstall sqlalchemy # désinstaller tous les  packages 'sqlalchemy'

Et si vous voulez désinstaller une liste de packages, vous pouvez faire ceci:

% pip uninstall -r my-awesome-env-req.txt # désinstaller tous les  packages indiqués dans 'mon-env-req.txt'

Chercher des packages pip

Si vous voulez chercher des packages qui peuvent résoudre un type spécifique de problèmes, vous pouvez faire une recherche par:

% pip search database # chercher les titres et descriptions des packages qui contiennent le mot 'database'

Des astuces d'utilisation de pip

  1. Pour éviter d'exécuter pip pour l'installation des packages indésirables dans l'environnement global, vous pouvez spécifier à pip d'exécuter seulement si un virtualenv est actuellement actif en configurant une variable d'environnement shell:

    % export PIP_REQUIRE_VIRTUALENV=true
    
  2. Souvent, les packages vont être installés sous le répertoire 'site-packages'. Toutefois, si vous voulez faire des changements et déboguer un package, il est plus logique d'exécuter le package directement de l'arbre des sources. Vous pouvez mettre le package dans 'Edit mode ' en indiquant à pip de l'installer avec l'argument/option "-e'" comme suivant:

    # créer un fichier .pth pour sqlalchemy dans 'site-packages' au lieu de l'installer dans'site-packages'
    # pour faire des changements sur le  package et déboguer les changements immédiatement
    % pip install -e path/to/sqlalchemy
    



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Thank you for the contribution. It has been approved.

You can contact us on Discord.
[utopian-moderator]

Hey @raptorjesus I am @utopian-io. I have just upvoted you!

Achievements

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • Seems like you contribute quite often. AMAZING!

Suggestions

  • Contribute more often to get higher and higher rewards. I wish to see you often!
  • Work on your followers to increase the votes/rewards. I follow what humans do and my vote is mainly based on that. Good luck!

Get Noticed!

  • Did you know project owners can manually vote with their own voting power or by voting power delegated to their projects? Ask the project owner to review your contributions!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x

Coin Marketplace

STEEM 0.13
TRX 0.33
JST 0.034
BTC 110846.41
ETH 4300.08
USDT 1.00
SBD 0.82