donc je googler un événement où pip requis privilèges de Sudo, et je suis tombé sur les deux fils suivants What are the risks of running 'sudo pip'? et Is it acceptable & safe to run pip install under sudo?installations de python global et local, et en cours d'exécution accidentellement un fichier des exigences en dehors de virtualenv
Le premier thread parle du risque de sécurité d'exécuter un fichier .py inconnu avec pip (a du sens), mais à partir du second j'ai presque eu l'impression qu'il existe une installation python globale et locale que vous ne devriez pas mélanger. Je suppose qu'il est logique que vous puissiez avoir une installation globale pour tous les utilisateurs et peut-être un chemin d'accès aux paquets locaux pour chaque utilisateur, mais est-ce vrai? (cela aurait aussi du sens puisque ubuntu (que j'utilise) a des dépendances sur certains paquets python, donc avoir un répertoire python protégé par une racine globale les protégerait). Cependant, si cela est vrai, je ne trouve pas les deux répertoires séparés. J'ai essayé
import sys
print(sys.path)
avec sudo et sans sudo, et j'ai obtenu exactement les mêmes répertoires.
En tout cas, je pense que je vais passer à pip virtualenv, mais dans ce cas je me demandais, que se passerait-il si j'oubliais accidentellement d'activer l'environnement et couru un exotic requirements.txt dehors? Cela ne va-t-il pas corrompre mon répertoire utilisateur standard que j'essaye de garder propre (si c'est le cas, est-ce que c'est revertible?) Je pense juste, il oublie de taper un commando, et puis votre installation python est foirée
C'est assez simple: N'oubliez pas de vous activer virtualenv. Oui, si vous utilisez Exotic requirements.txt, cela pourrait polluer votre installation python. L'une des premières étapes avant de démarrer un projet est de créer un dossier séparé et d'y avoir un virtualenv avec votre version python requise. – letsc
* Je ne fais que penser, c'est seulement oublier de taper une commande, et puis votre installation python est foiré. * Pas vraiment. Comme vous le savez probablement maintenant, vous ne devriez pas utiliser ** sudo ** avec pip pour éviter de casser votre * installation Python * à l'échelle du système. Si vous n'utilisez pas * sudo * avec pip, peu importe ce que vous installez, vous ne gâcherez pas votre système. En outre, vous pouvez lire [this] (http://stackoverflow.com/posts/22517157/revisions) les informations que j'ai ajoutées à ma réponse récemment. –