Quand je cours:
sudo pip install ipython
J'obtiens l'erreur suivante
OSError: [Errno: 1] Opération non autorisée: '/System/Library/Frameworks/Python.framework/Versions/2.7/share'
La dernière commande exécutée tente de créer le répertoire donné ci-dessus.
De plus, la commande suivante ne parvient pas à installer iPython sans fournir aucune erreur.
sudo pip install --user python
(Je suis sur Mac OS X El Capitan au cas où d'autres personnes sur ce système d'exploitation verraient le même problème.)
$PATH
afin que vous puissiez appeler les exécutables pour les packages --user installés. stackoverflow.com/a/47102398/117471sudo
avec--user
. Qu'est--user
- ce que c'est installer~/Library
plutôt que/Library
Vous n'avez pas besoin d'utilisersudo
pour installer là-bas. Mais une fois que vous avez installé avecsudo
, les répertoires et les fichiers appartiennent tous àroot
. Ensuite, vous devez utilisersudo
pour leur faire autre chose. Ce qui vous obligera à utilisersudo
pour d'autres choses pour lesquelles vous ne devriez pas l'utiliser. Ensuite, même une erreur honnête peut aller de la création d'une erreur à la destruction de données.Réponses:
Les instructions qui disent
sudo pip install
sont intrinsèquement fausses.S'il existe un didacticiel indiquant que vous devriez le faire,
sudo pip
veuillez déposer un bogue contre ce paquet. L'auteur déséduque la communauté Python, car le temps s'est avérésudo pip
être une pratique brisée.OSX El Capitan a introduit un mécanisme pour éviter d'endommager les fichiers du système d'exploitation .
/System/Library/Frameworks/Python.framework/Versions/2.7/share
est l'un des emplacements protégés. Un utilisateur normal n’a aucune raison d’y placer ou d’écrire des fichiers . C'est parce que le système d'exploitation lui-même s'appuie sur ces fichiers etsudo pip
, avec toute la force donnée par ce qui précède, les écraserait sans condition. Habituellement, de mauvaises choses ne se produisent pas, mais les chances sont là. Apple veut protéger les utilisateurs de leur système d'exploitation contre le brochage accidentel de leur installation.Au lieu de cela, vous devez installer un package Python, comme IPython, localement dans le dossier de départ de votre utilisateur . Le moyen le plus simple consiste à créer un environnement virtuel , à l' activer , puis à exécuter pip dans l'environnement virtuel.
Exemple:
Plus d'informations
Tutoriel officiel d'installation du package Python .
Comment créer des environnements virtuels .
Sinon, on devrait pouvoir le faire
pip install --user
. Mais encore une fois, aucun sudo n'est nécessaire et vous devez configurer manuellementPATH
la variable d'environnement.la source
easy_install
stackoverflow.com/a/33463702/3078330pip install virtualenv
ne devrait plus être nécessaire pour Python 3.4+, car ils sont livrés avec unpython -m venv
équivalent virtualenv intégré . docs.python.org/3/library/venv.htmlpip install --user IPython
aide à ce sujet. De plus,pip install --user IPython
ne parvient pas à placer laipython
commande dans le$PATH
(au moins sur ma machine).J'ai eu les mêmes problèmes, mais l'utilisation a
easy_install "module"
résolu le problème pour moi.Je ne sais pas pourquoi, mais pip et easy_install utilisent des emplacements d'installation différents, et easy_install a choisi les bons.
Edit: sans revérifier mais à cause des commentaires; il semble que différentes installations (OSX et Brew-installées) interfèrent les unes avec les autres, c'est pourquoi les outils mentionnés pointent en effet vers des emplacements différents (puisqu'ils appartiennent à des installations différentes). Je comprends que généralement ces outils d'un point d'installation vers le même dossier.
la source
easy_install
configurés pour un autre?easy_install
pour tous:easy_install-2.6
,easy_install-2.7
,easy_install-3.5
pip
eteasy_install
pointez vers différents Python. Vous pouvez comprendre cela avec lawhich
commande UNIX, puis déterminer la bonnepip
commande à utiliser.Vous devez réinstaller Python:
Pour obtenir une infusion, consultez la page d'accueil de la bière .
la source
brew install python
alors je pensepip
est déjà en place. Après cettepip
installation a travaillé (j'ai eu des problèmes similaires w / autorisations et pip videur sur les installations)pip install --ignore-installed six
Cela fera le travail, alors vous pouvez essayer votre première commande.
Via http://github.com/pypa/pip/issues/3165
la source
pip install --ignore-installed setuptools
.Utilisé à la
pip3 install <package>
place et résolu le problème d'autorisation avecpip
.la source
pip3
utilise Python 3, qui est généralement installé par l'utilisateur. Python 2 (2.7), en revanche, est livré avec macOS et est protégé comme l'explique la réponse la mieux notée.TL; DR $ PATH correction
pip install --user package_name
d'installer un package qui doit inclure des exécutables CLI.import package_name
lib/python/...
se produit dans la sortie et remplacez-le parbin
$HOME/Library/Python/2.7/bin
Détails
En raison de la nouvelle protection de l'intégrité du système dans macOS 10.11 El Capitan, vous ne pouvez plus
sudo pip install
. Nous ne débattrons pas du bien-fondé de cela ici.Une autre réponse explique que vous devriez
pip install --user
ce qui est correct. Mais ils vous ont envoyé dans les ruelles pour savoir quoi faire pour vous$PATH
afin que vous puissiez avoir accès aux exécutables installés. Heureusement, j'ai déjà résolu un besoin similaire pour une question sans rapport .Voici une transcription de la façon dont j'ai résolu le problème sur l'un de mes systèmes. J'inclus tout cela plutôt que ce
$PATH
qui a fonctionné pour moi, car votre système peut être différent du mien. Ce processus devrait fonctionner pour tout le monde.la source
Même erreur
et ici j'utilise
--user
sanssudo
pour résoudre ce problèmeJ'espère que cela aidera quelqu'un qui rencontre un problème similaire!
la source
sudo
avec--user
. Qu'est--user
- ce que c'est installer~/Library
plutôt que/Library
Vous n'avez pas besoin d'utilisersudo
pour installer là-bas. Mais une fois que vous avez installé avecsudo
, les répertoires et les fichiers appartiennent tous àroot
. Ensuite, vous devez utilisersudo
pour leur faire autre chose. Ce qui vous obligera à utilisersudo
pour d'autres choses pour lesquelles vous ne devriez pas l'utiliser. Ensuite, même une erreur honnête peut aller de la création d'une erreur à la destruction de données.J'ai eu les mêmes problèmes. Comme d'autres l'ont mentionné, n'exécutez pas pip install avec sudo. Courir
et corrigez les avertissements et vous devriez être en mesure de procéder à l'installation de pip.
la source
Il est difficile de faire travailler pip sur El Capitan pour plusieurs raisons:
/System/Library/
. El Capitan bloque cela, qui est l'erreur que vous rencontrez./System/Library/
. pip veut souvent les mettre à niveau mais ne le peut pas sur El Capitan./System/Library/
plus haut dans l'ordre de recherche python que/Library/Python/2.7/site-packages
(l'emplacement du package python à l'échelle du système), donc même si vous parvenez à installer des versions plus récentes de certains packages, les anciennes sont toujours chargées, brisant certaines dépendances.Il existe des solutions de contournement pour tous ces éléments sur https://apple.stackexchange.com/a/223163/143849 . Mais il vaut peut-être mieux installer votre propre version de Python via le programme d'installation standard de Python, Homebrew ou Anaconda.
la source
Je suppose que vous avez un conflit avec un autre package. Pour moi c'était
six
. Vous devez donc utiliser une commande comme celle-ci:ou
pip install --ignore-installed six
la source
six
.Je suis entièrement d'accord avec Mikko, mais si vous voulez toujours le faire, voici le chemin:
csrutil disable
la source
J'ai installé python2.7 via brew et ce qui suit a résolu mon problème
infusion installer numpy
Il installe python3, mais il fonctionne toujours et le configure également pour 2.7.
la source