2016-03-29 11 views
4

Ich benutze Mac OS X 10.10. Ich möchte pip verwenden, um Pakete für meine HomeBrew installierte Version von Python zu installieren (in /usr/local/bin/python, das ist ein Alias, der auf /usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/bin verweist). Es scheint, dass Site-Pakete für diese Version hier sind: /usr/local/lib/python2.7/site-packages/.pip Installation in den falschen Ordner, obwohl `which pip` korrekt ist

which python kehrt /usr/local/bin/python

which pip kehrt /usr/local/bin/pip

Diese mir richtig zu sein scheinen.

Der Versuch, so etwas wie pip install pylzma kehrt:

Collecting pylzma 
Installing collected packages: pylzma 
Successfully installed pylzma 
You are using pip version 8.0.2, however version 8.1.1 is available. 
You should consider upgrading via the 'pip install --upgrade pip' command. 

Aber dann pip list nicht pylzma nicht zeigen, installiert werden. Es sieht so aus, als ob pip die Pakete unter /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages installiert (das Python, das zu Mac OS X gehört).

Wie kann ich pip meinen homebrewed Python zu installieren?

Ich habe eine Reihe von Vorschlägen aus ähnlichen Fragen versucht:

  1. Ich habe export PATH=/usr/local/bin/python:${PATH} versucht.
  2. Ich habe versucht pip install --install-option="--prefix=/usr/local/lib/python2.7" pylzma.
  3. Ich habe versucht, die erste Zeile des ausführbaren Skript pip zu #!/usr/local/bin/python
  4. Ich habe versucht, /usr/local/bin/python -m pip install pylzma.

Aber keines dieser Arbeit. Ich habe auch versucht, Pip auf 8.1.1 zu aktualisieren, aber das hat Pip-Break komplett gemacht. Leute empfehlen die Verwendung von virtualenv, aber soweit ich weiß, kann ich das ohne Pip nicht installieren.

Wenn ich python -m pip geben, heißt es:

Usage: 
/usr/local/opt/python/bin/python2.7 -m pip <command> [options] 

, dass ein Problem sein könnte?

+1

"Ich habe versucht/usr/local/bin/python -m pip installieren pylzma.". Aber hast du vorher die Installation in '/ Library/...' entfernt. Sonst könnte man sich einmischen. – Evert

+1

Überprüfen Sie auch, ob '/ usr/local/lib/python2.7/site-packages' existiert oder ob die Dinge stattdessen in '/ usr/local/opt/python/lib/python2.7/site-packages' installiert werden. Manchmal erzeugt Homebrew den Symlink nicht von '/ usr/local/opt/python /' nach '/ usr/local /'. – Evert

+0

@Evert, ich habe gelesen, dass es nicht empfohlen wird, die Mac OS X Python-Installation in '/ Library/...' zu entfernen. – litturt

Antwort

2

Mein Problem war, dass meine /Users/<username>/.pydistutils.cfg enthielt das folgende:

[easy_install] 

# set the default location to install packages 
install_dir = /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages 

[install] 
install_lib = /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages 
install_scripts = ~/bin 

Ich änderte dies:

[easy_install] 
# set the default location to install packages 
install_dir = /usr/local/lib/python2.7/site-packages 

[install] 
install_lib = /usr/local/lib/python2.7/site-packages 
install_scripts = ~/bin 

die gearbeitet zu haben schien. pip install installiert jetzt Pakete an den gewünschten Ort /usr/local/lib/python2.7/site-packages.

Allerdings habe ich laufende Pfadprobleme.

import pylzma gibt mir noch ImportError: No module named pylzma.

und läuft jupyter notebook im Terminal gibt -bash: jupyter: command not found. /Users/<username>/bin/jupyter notebook führt aus, aber ich bekomme ImportError: No module named markupsafe trotz der Tatsache, dass /usr/local/lib/python2.7/site-packages/MarkupSafe-0.23.dist-info existiert.

EDIT: Ich habe Jupyter Notebook schließlich arbeiten. Ich musste mehrere Pakete direkt von den Quell-Tarballs installieren, einschließlich MarkupSafe, functools32 und jsonschema. Vielleicht sucht Python nicht im richtigen Ordner oder so.

+0

Fast alle Pakete werden als Verzeichnispaare installiert, z. .../MarkupSafe-0.23-py2.7.egg-info/und .../site-packages/markupsafe /. Hast du beides? Wenn nicht, suchen Sie nach einem Verzeichnis-Markupsafe woanders, z. 'cd .../Site-Pakete; du | egrep markupsafe'. – denis

Verwandte Themen