OS X Lion easy_install benötigt sudo…?


7

Ich arbeite unter OS X Lion und möchte virtuelle Python-Umgebungen einrichten. Ich möchte virtualenvwrapper verwenden.

Kann jemand bestätigen, dass der richtige Weg, dies zu tun, darin besteht, Pakete über easy_install (und anschließend pip) mit sudo zu installieren?

Kontext: Um virtaulenv zu installieren, wollte ich pip verwenden, also tat ich es

$ easy_install pip
error: can't create or remove files in install directory

The following error occurred while trying to add or remove files in the
installation directory:

    [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/test-easy-install-876.write-test'

The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:

    /Library/Python/2.7/site-packages/

Perhaps your account does not have write access to this directory?  If the
installation directory is a system-owned directory, you may need to sign in
as the administrator or "root" account.  If you do not have administrative
access to this machine, you may wish to choose a different installation
directory, preferably one that is listed in your PYTHONPATH environment
variable.

For information on other options, you may wish to consult the
documentation at:

  http://peak.telecommunity.com/EasyInstall.html

Please make the appropriate changes for your system and try again.

Es scheint, dass die einzige Möglichkeit, easy_install zum Laufen zu bringen, darin besteht, es mit sudo zu tun. Ich habe an anderer Stelle gelesen, dass dies eine schlechte Idee ist (obwohl ich nicht ganz sicher bin, warum).

Zu klären,

$ which python
/usr/bin/python

und es ist 2.7.1.

Antworten:


4

/Library/Python/2.7/site-packages/ world-ausführbar machen mit:

sudo chmod -R 755 /Library/Python/2.7/site-packages

arbeitete für mich.


1

Vor Lion /Library/Pythonwar standardmäßig vom Benutzer beschreibbar (es sei denn, Sie haben sudo easy_installeinmal mit der Verwendung begonnen , danach waren die neu erstellten Dateien nicht mehr vom Benutzer beschreibbar). Dies hat sich bei Lion geändert, obwohl nicht klar ist, warum. Sie können also entweder die Eigentümerschaft ändern /Library/Pythonoder sudoalle easy_installAktionen hinzufügen .

Weitere Informationen finden Sie im Homebrew-Wiki .


1
chmod + a 'user: YOUR_NAME_HERE erlaubt add_subdirectory, add_file, delete_child, directory_inherit' /Library/Python/2.7/site-packages
tzs

1

Wenn Sie setuptools erneut herunterladen und mit diesem Befehl installieren, wird Ihr Problem behoben .

sudo sh setuptools-0.6c11-py2.7.egg --prefix=~ --install-dir=/Library/Python/2.7/site-packages/
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.