Frage pip install -r: OSError: [Errno 13] Berechtigung verweigert


Ich versuche einzurichten Django.

Wenn ich renne pip install -r requirements.txtIch bekomme folgende Ausnahme:

Installing collected packages: amqp, anyjson, arrow, beautifulsoup4, billiard, boto, braintree, celery, cffi, cryptography, Django, django-bower, django-braces, django-celery, django-crispy-forms, django-debug-toolbar, django-disqus, django-embed-video, django-filter, django-merchant, django-pagination, django-payments, django-storages, django-vote, django-wysiwyg-redactor, easy-thumbnails, enum34, gnureadline, idna, ipaddress, ipython, kombu, mock, names, ndg-httpsclient, Pillow, pyasn1, pycparser, pycrypto, PyJWT, pyOpenSSL, python-dateutil, pytz, requests, six, sqlparse, stripe, suds-jurko
Cleaning up...
Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 283, in run
    requirement_set.install(install_options, global_options, root=options.root_path)
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1436, in install
    requirement.install(install_options, global_options, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 672, in install
    self.move_wheel_files(self.source_dir, root=root)
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 902, in move_wheel_files
    pycompile=self.pycompile,
  File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 206, in move_wheel_files
    clobber(source, lib_dir, True)
  File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 193, in clobber
    os.makedirs(destsubdir)
  File "/usr/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/amqp-1.4.6.dist-info'

Was ist falsch und wie repariere ich das?


74
2017-07-20 08:58


Ursprung


Antworten:


Hast du es versucht? Sudo?

sudo pip install -r requirements.txt

(Bearbeitet bezüglich der Kommentare) oder sicherere Optionen:

a) Erstellen Sie ein virtualenv, aktivieren Sie es und installieren Sie:

virtualenv env
source env/bin/activate
pip install -r requirements.tx

b) Benutzerfreundlich installieren

pip install --user -r requirements.txt

Meine Empfehlung verwenden Sie sicher (a) Option.


31
2017-07-20 09:02



Wir sollten wirklich aufhören, den Gebrauch von zu empfehlen sudo mit pip install. Es ist besser, zuerst zu versuchen pip install --user. Wenn dies fehlschlägt, werfen Sie einen Blick auf den obersten Beitrag Hier.

Der Grund, den Sie nicht verwenden sollten sudo ist wie folgt:

Wenn Sie pip mit ausführen sudo, Sie führen beliebigen Python-Code aus dem Internet als Root-Benutzer aus, was ein ziemlich großes Sicherheitsrisiko darstellt. Wenn jemand ein schädliches Projekt auf PyPI aufruft und Sie es installieren, geben Sie einem Angreifer Root-Zugriff auf Ihren Rechner.


262
2018-02-03 10:24



Sie versuchen, ein Paket auf dem systemweiten Pfad zu installieren, ohne die Berechtigung dafür zu haben.

  1. Im Allgemeinen können Sie verwenden sudo vorübergehend erhalten Superuser  Berechtigungen in Ihrer Verantwortung um das Paket auf dem systemweiten Pfad zu installieren:

    sudo pip install -r requirements.txt
    

    Finden Sie mehr über sudo  Hier.

  2. Wenn Sie keine systemweiten Änderungen vornehmen möchten, können Sie das Paket auf Ihrem installieren pro Benutzer Pfad mit dem --user Flagge.

    Alles was es braucht ist:

    pip install --user runloop requirements.txt
    
  3. Schließlich, für noch feinere KontrolleSie können auch ein virtualenvDies könnte die überlegene Lösung für eine Entwicklungsumgebung sein, besonders wenn Sie daran arbeiten mehrere Projekte und wollen die Abhängigkeiten jeder einzelnen verfolgen.

    Nach Aktivierung deines virtualenv mit

    $ my-virtualenv/bin/activate

    Der folgende Befehl installiert das Paket innerhalb des virtuellen (und nicht auf dem systemweiten Pfad):

    pip install -r requirements.txt


22
2017-07-20 09:02



Ich klärte nur, was für mich nach vielen Schmerzen in Linux (Ubuntu basiert) auf Erlaubnis verweigert Fehler funktioniert, und Hebel aus Berts Antwort oben nutze ich jetzt ...

$ pip install --user <package-name>

oder wenn pip auf einer Anforderungsdatei läuft ...

$ pip install --user -r requirements.txt

und diese funktionieren zuverlässig für jede Pip-Installation, einschließlich der Erstellung virtueller Umgebungen.

Aber die sauberste Lösung in meiner weiteren Erfahrung war zu installieren python-virtualenv und virtualenvwrapper mit sudo apt-get install auf Systemebene.

Verwenden Sie dann in virtuellen Umgebungen pip install ohne das --user Flagge UND ohne sudo. Viel sauberer, sicherer und insgesamt einfacher.


21
2018-05-27 07:22



Der Benutzer hat keine Schreibberechtigung für einige Python-Installationspfade. Sie können die Erlaubnis erteilen durch:

sudo chown -R $USER /absolute/path/to/directory

Also sollten Sie die Erlaubnis geben, dann versuchen Sie es erneut zu installieren, wenn Sie neue Pfade haben, sollten Sie auch die Erlaubnis geben:

sudo chown -R $USER /usr/local/lib/python2.7/

7
2017-08-16 13:38



In meinem Fall habe ich gefunden .local Verzeichnis mit Pfad zu pip parallel zu pip3 im /usr/lcoal/bin. Nach dem Löschen der .local Verzeichnis alles wurde gut eingestellt.


-2
2018-05-18 10:43



Nur dieser Befehl funktionierte für mich, falls jemand benötigt:

sudo -H /usr/local/bin/pip install --upgrade boto3

-2
2017-12-19 12:41



versuche es mit sudo su Befehl, wenn Sie Ubuntu verwenden und dann ausführen pip install als Super User ..dies könnte helfen .. Ich hatte das selbe Problem und es wurde von diesem gelöst.

Wenn Sie in Windows sind, versuchen Sie es pip install Befehl durch Ausführen der Eingabeaufforderung (cmd) als admin!


-3
2017-11-21 07:26



Zuvor hatte ich auch einen Fehler bei der ersten Frage mit diesem Befehl.

pip install tweepy

und dann habe ich es versucht,

sudo pip install -r requirements.txt

erreichen auch Fehler (ein anderer Fehler) wie unten,

Die Anforderungsdatei konnte nicht geöffnet werden: [Errno 2] Keine solche Datei oder kein Verzeichnis:   "Anforderungen.txt"

und dann habe ich dieses versucht und arbeitet in mir ...

pip install --user tweepy

-3
2018-03-23 10:36



Ausführen chmod -0777 -R auf der virtuellen Umgebung und ausführen pip install -r requirements.txt


-3
2018-05-28 11:29