web-dev-qa-db-fra.com

Installation de pip sur macOS Sierra

J'ai essayé d'installer pip sur macOS sierra via brew, mais chaque fois qu'il se termine sans installer les fichiers binaires dans /usr/local/Cellar/python/2.7.13/bin.

J'ai essayé:

MacBook-Pro ➜ brew reinstall python

puis:

MacBook-Pro ➜  ~ which pip
pip not found

J'ai trouvé le chemin d'accès à python, qui est /usr/local/Cellar/python/2.7.13/bin mais pas de binaire pour pip là-bas.

J'ai aussi essayé l'approche easy_install:

MacBook-Pro ➜ Sudo easy_install pip
Traceback (most recent call last):
  File "/usr/bin/easy_install-2.7", line 11, in <module>
    load_entry_point('setuptools==18.5', 'console_scripts', 'easy_install')()
  File "/Library/Python/2.7/site-packages/pkg_resources.py", line 352, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/Library/Python/2.7/site-packages/pkg_resources.py", line 2307, in load_entry_point
    return ep.load()
  File "/Library/Python/2.7/site-packages/pkg_resources.py", line 2021, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/__init__.py", line 12, in <module>
    from setuptools.extension import Extension
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/extension.py", line 8, in <module>
    from .dist import _get_unpatched
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/dist.py", line 21, in <module>
    packaging = pkg_resources.packaging
AttributeError: 'module' object has no attribute 'packaging'

METTRE À JOUR:

Quand j'exécute brew postinstall python j'obtiens l'erreur suivante:

MacBook-Pro ➜  ~ brew postinstall python
==> Using the sandbox
==> /usr/local/Cellar/python/2.7.13/bin/python -s setup.py --no-user-cfg install --force --verbose --single-version-externally-managed --rec
==> /usr/local/Cellar/python/2.7.13/bin/python -s setup.py --no-user-cfg install --force --verbose --single-version-externally-managed --rec
Last 15 lines from /Users/justin/Library/Logs/Homebrew/python/post_install.02.python:

Traceback (most recent call last):
  File "setup.py", line 92, in <module>
    cmdclass={'test': PyTest},
  File "/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 111, in setup
    _setup_distribution = dist = klass(attrs)
  File "/Users/justin/.venvburrito/lib/python/distribute-0.6.35-py2.7.Egg/setuptools/dist.py", line 225, in __init__
    _Distribution.__init__(self,attrs)
  File "/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 287, in __init__
    self.finalize_options()
  File "/Users/justin/.venvburrito/lib/python/distribute-0.6.35-py2.7.Egg/setuptools/dist.py", line 258, in finalize_options
    ep.load()(self, ep.name, value)
  File "/Users/justin/.venvburrito/lib/python/distribute-0.6.35-py2.7.Egg/pkg_resources.py", line 2020, in load
    raise ImportError("%r has no %r attribute" % (entry,attr))
ImportError: <module 'setuptools.dist' from '/Users/justin/.venvburrito/lib/python/distribute-0.6.35-py2.7.Egg/setuptools/dist.pyc'> has no 'check_specifier' attribute
14
Justin

Il vous suffit d'installer pip qui n'est pas automatiquement installé dans macOS Sierra. 

Exécuter Sudo easy_install pip

38
julien bouteloup

Pour Mac OS Sierra, impossible d'installer pip via easy_install en raison d'un problème avec la version de TLS, la version installée d'Open-SSL ne prend pas en charge TLS 1.2.

Donc, installez pip en utilisant curl comme suit,

curl https://bootstrap.pypa.io/get-pip.py | Sudo python
9
Mohammed Safeer

OK gang, beaucoup de ces réponses ont été utiles, mais aucune d’elles ne m’a mené à la ligne d’arrivée. Je cours High Sierra 10.13.4. Le problème décrit ci-dessus est que Brew installe pip dans le répertoire /usr/local/bin mais que Python est dans /usr/bin (bien que, comme l'a dit Carl, Python3 passe correctement à /usr/local/bin).

Mon cas d'utilisation immédiat est lié à l'installation du package Postgres BigSQL .

Les étapes que j'ai prises sont les suivantes:

  1. Vider le cache d'infusion $ rm -rf ~/Library/Caches/Homebrew
  2. Effacez les paquets de site $ Sudo rm -rf /usr/local/lib/python2.7/site-packages
  3. Réinstallez Python $ brew reinstall python Ceci extrait python-3.5.6.high_sierra et le place dans /usr/local/bin/python3
  4. Mais which python affiche toujours /usr/bin/python
  5. Solution doit exécuter brew install python@2, qui extrait [email protected]_3.high_sierra
  6. which python affiche maintenant le chemin correct /usr/local/bin/python, qui est également l'emplacement où tous vos éléments de pip sont installés, donc pip va fonctionner.
  7. Bien sûr, si vous n'avez pas installé la dernière version de pip, vous devriez le faire aussi avec Sudo pip install --upgrade pip 
4
Shane

Quelque chose ne va pas avec votre installation de la bière. 

Dernière version de macOS. 

 ~/ brew reinstall python
==> Reinstalling python
==> Downloading https://homebrew.bintray.com/bottles/python-2.7.13.sierra.bottle.tar.gz
Already downloaded: ~/Library/Caches/Homebrew/python-2.7.13.sierra.bottle.tar.gz
==> Pouring python-2.7.13.sierra.bottle.tar.gz
==> Using the sandbox
==> /usr/local/Cellar/python/2.7.13/bin/python -s setup.py --no-user-cfg install --force --verbose --single-version-externally-managed --record=installed.txt --install-scripts=/usr/local/Cellar/python/2.7
==> /usr/local/Cellar/python/2.7.13/bin/python -s setup.py --no-user-cfg install --force --verbose --single-version-externally-managed --record=installed.txt --install-scripts=/usr/local/Cellar/python/2.7
==> /usr/local/Cellar/python/2.7.13/bin/python -s setup.py --no-user-cfg install --force --verbose --single-version-externally-managed --record=installed.txt --install-scripts=/usr/local/Cellar/python/2.7
==> Caveats
Pip and setuptools have been installed. To update them
  pip install --upgrade pip setuptools

You can install Python packages with
  pip install <package>

They will install into the site-package directory
  /usr/local/lib/python2.7/site-packages

See: https://github.com/Homebrew/brew/blob/master/docs/Homebrew-and-Python.md

.app bundles were installed.
Run `brew linkapps python` to symlink these to /Applications.
==> Summary
????  /usr/local/Cellar/python/2.7.13: 3,526 files, 48M

Et ça existe vraiment. 

 ~/ ls -l $(which pip)
lrwxr-xr-x  1 cricket  admin  31 Dec 19 19:43 /usr/local/bin/pip -> ../Cellar/python/2.7.13/bin/pip
3
cricket_007

J'ai eu ce problème et j'ai trouvé que c'était la solution. BTW PIP n'est pas installé via le brassage. Il est livré avec python et python virtualenvs.

si vous tapez which python sans brew install python, vous obtiendrez l'emplacement en /usr/bin/python. C'est le système python avec lequel nous ne voulons pas développer.

J'ai donc suivi les étapes suivantes: 1) brew install python 2) export PATH="/usr/local/opt/python/libexec/bin:$PATH" insérez-le dans votre ~/.bash_profile 3) source ~/.bash_profile dans votre terminal 4) tapez which python et vous auriez dû modifier l'emplacement en /usr/local/opt/python/libexec/bin/python

Cela vous permettra d’installer l’installation normalement et d’utiliser la version brassée de python.

Auparavant, le python de High Sierra se trouvait dans /usr/local/bin, mais pour une raison quelconque, si vous placez /usr/local/bin dans vos chemins, il pointe automatiquement sur /usr/bin. Il s’agit donc de la seule solution que j’ai pu trouver. 

Python3 n'a pas ce problème, si vous brew install python3 et tapez which python3, vous verrez qu'il se trouve dans /usr/local/bin/python3

3
ajabdelaziz

Pour ce que ça vaut, après avoir migré vers High Sierra, j'ai trouvé ma machine pratiquement inutilisable pour le développement, même en cas de plantage grave.

En ce qui concerne Python, j'ai eu un problème de droits dans le dossier site-packages, donc la réinstallation n'a pas fonctionné:

$ brew reinstall python

==> Reinstalling python
==> Downloading https://homebrew.bintray.com/bottles/python-2.7.14.high_sierra.bottle.tar.gz
Already downloaded: /Users/m/Library/Caches/Homebrew/python-2.7.14.high_sierra.bottle.tar.gz
==> Pouring python-2.7.14.high_sierra.bottle.tar.gz
==> /usr/local/Cellar/python/2.7.14/bin/python2 -s setup.py --no-user-cfg install --force --verbose --single-version-externally-managed --record=installed.txt --install-scripts=/usr/local/Cellar/python/2.7.14/bin --install-
Last 15 lines from /Users/m/Library/Logs/Homebrew/python/post_install.01.python2:
.
.
.
copying build/lib/setuptools/script (dev).tmpl -> /usr/local/lib/python2.7/site-packages/setuptools
copying build/lib/pkg_resources/_vendor/packaging/version.py -> /usr/local/lib/python2.7/site-packages/pkg_resources/_vendor/packaging
error: could not delete '/usr/local/lib/python2.7/site-packages/pkg_resources/_vendor/packaging/version.py': Permission denied
Warning: The post-install step did not complete successfully
...

Donc, pour résoudre ce problème, j'ai complètement supprimé les paquets de site:

$ Sudo rm -rf /usr/local/lib/python2.7/site-packages

Avec cela, réinstaller python2 et utiliser à nouveau un pip2 qui fonctionnait fonctionnait à merveille:

$ brew reinstall python

$ which pip2
/usr/local/bin/pip2
$ which python2
/usr/local/bin/python2

$ which pip
pip not found
$ which python
/usr/bin/python

J'espère que cela pourra aider.

1
2075

Le message d'erreur a la réponse pour vous ...

Supprimez /Users/justin/.venvburrito/lib/python/distribute-0.6.35-py2.7.Egg/ et exécutez brew reinstall python. setuptools est la mauvaise version.

0
Carl Russmann