Wie kann ich python-dev ohne sudo installieren?

Wie kann ich python-dev ohne sudo installieren?

Ich versuche, das Python-Paket (scikits.learn) in meinem Benutzerverzeichnis (auf einem Ubuntu-Server, für den ich keine Sudo-Berechtigung habe) zu installieren, aber ich erhalte

error: Python.h: No such file or directory

Es kann daran liegen, dass ich python-dev nicht installiert habe. Aber wie kann ich python-dev ohne sudo installieren? ODER gibt es einen anderen einfachen Ausweg für Python.h?

Antwort1

Sie können Ihr eigenes Python aus den Quellen kompilieren und dann alle gewünschten Module installieren. http://docs.python.org/devguide/

Antwort2

Ich weiß, dass das ein bisschen Nekromantie ist (alte Beiträge wiederbeleben), aber ich stand vor dem gleichen Problem und konnte keine Antwort finden, also teile ich die, die ich gefunden habe …

Meine Lösung:

Ich arbeite an einem Ubuntu 16.04 Desktop, ohne sudo und nur mit Python 2.7 installiert. Ich habe es geschafft, ein Virtualevn ohne sudo einzurichten (nachhttps://stackoverflow.com/questions/9348869/wie-installiere-virtualenv-ohne-sudo-zu-verwenden) und beim Versuch, Jupyter zu installieren, stieß ich auf den fehlenden „Fehler: Python.h: Keine solche Datei oder kein solches Verzeichnis“.

Meine Lösung, überhaupt nicht sauber, aber zumindest beschränkt aufVirtualenv und virtueller Python-OrdnerIst:

  1. Erstellen Sie ein Testverzeichnis (package_download).
  2. no-sudo@pc:~/package_download$ apt-get download libpython2.7-dev
  3. no-sudo@pc:~/package_download$ apt-get download python-dev
  4. no-sudo@pc:~/package_download$ dpkg -x libpython2.7-dev_2.7.12-1ubuntu0~16.04.1_amd64.deb .
  5. no-sudo@pc:~/package_download$ dpkg -x python-dev_2.7.11-1_amd64.deb .

Dadurch wird die Bibliothek heruntergeladen und in Ihren Ordner package_download extrahiert. Jetzt kommt der schwierige Teil: Da Pip mir nicht erlaubte, diesen Speicherort anzuvisieren, habe ich diese Dateien dort hinzugefügt, wo sie hingehören, nämlich im Ordner virtualenv …

  1. Fügen Sie "~/package_download/usr/bin" mit dem Bin-Verzeichnis in Ihremvirtuelles PythonInstallationsordner (den Sie zum Installieren von virtualenv und Erstellen Ihrer Umgebung verwendet haben), aber ersetzen Sie keine Dateien.
  2. Fügen Sie "~/package_download/usr/lib" mit dem lib-Verzeichnis in Ihremvirtuelles PythonOrdner. Hier keine Konflikte.
  3. Kopieren Sie den Inhalt von "~/package_download/usr/include/python2.7" in Ihren Ordner include/python2.7/, hier gibt es keine Konflikte. Dies ist eigentlich der schmutzigste Teil, da wir den Installationsordner desvirtuelles Python(dies erfordert kein sudo, da es sich um ein no-sudo handeltvirtuelles Python).
  4. Kopieren Sie den Ordner "~/package_download/usr/include/x86_64-linux-gnu" in Ihren Ordner include/python2.7/. Das Kopieren von Ordnern ist hier kein Problem...

Führen Sie jetzt Ihre virtuelle Umgebung aus:

  1. no-sudo@pc:~/running_virtualenv$ Quelle bin/aktivieren
  2. (running_virtualenv)no-sudo@pc:~/running_virtualenv$ pip install jupyter
  3. genießen...

Wenn Sie feststellen, dass Ihreinclude/python2.7/ein symbolischer Link ist, dann haben Sie den Ordner „virtualenv“ mit dem virtuellen Python-Ordner verwechselt. (Danke @andrzej1_1 für das Auffinden dieses Problems)

verwandte Informationen