Python >> Tutoriel Python >  >> Python Tag >> PIP

Apple - Utilisation de pip par rapport à MacPorts pour l'installation de packages Python

Vous devez utiliser pip parce que c'est l'outil natif Python pour gérer les installations de paquets mais vous ne devriez pas installer de pip dans votre installation Python de base. Il peut être fastidieux de devoir trier les dépendances de versions fixes entre plusieurs référentiels de logiciels si vous installez tout en pip dans votre installation Python de base sur votre machine.

Au lieu de cela, vous devez installer pip virtualenv, puis l'utiliser pour gérer différentes installations Python virtuelles et tous les packages associés installés par pip pour chaque environnement virtuel.

Cela vous permet de ne plus travailler avec, disons, beautifulsoup 1.x dans un dépôt de logiciels à beautifulsoup 2.x dans un autre référentiel sans avoir à traverser l'enfer de la gestion des dépendances.


Ils peuvent être utilisés simultanément, et il ne devrait y avoir aucun problème entre mélanger les deux (avec une sorte de grosse mise en garde et un piège...)

La mise en garde

La mise en garde est que macports/homebrew et pip n'auront aucune connaissance de l'installation de chacun par rapport à l'autre.

Ainsi, par exemple, disons que vous installez Python 3.6 sur votre Mac. Vous voulez nltk , qui n'est techniquement pas disponible pour cette version sur Macports, mais sur pip. Donc, vous installez sur pip. Deux mois plus tard, vous voyez qu'il est installé sur Macports et choisissez de l'installer. Vous avez maintenant deux versions différentes de nltk sur votre machine, alors mettez en garde emptor.

Le piège

Si vous utilisez pip avec Macports, vous devez vous assurer que c'est le pip qui est installé via Macports et associé à cette version de python. Ainsi, par exemple, vous verrez un py35-pip, py36-pip, etc.

Une fois que vous avez installé le bon pip, vous utilisez le select de Macports commande pour s'assurer qu'elle est activée avec la version appropriée de python :

sudo port select