Wie kann ich Python-dev ohne sudo installieren?

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

error: Python.h: No such file or directory

Es kann sein, 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?

Author: Der Hochstapler, 2012-05-30

2 answers

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

 3
Author: Denis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-05-30 13:56:26

Ich weiß, dass dies ein bisschen Nekromantie ist (alte Posts wiederbeleben), aber ich hatte das gleiche 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, auf dem kein Sudo und nur Python 2.7 installiert sind. Ich habe es geschafft, eine virtualevn ohne sudo einzurichten (folgt https://stackoverflow.com/questions/9348869/how-to-install-virtualenv-without-using-sudo) und beim Versuch, Jupyter zu installieren, stieß ich auf die fehlender " Fehler: Python.h: Keine solche Datei oder Verzeichnis".

Meine Lösung, die überhaupt nicht sauber ist, aber zumindest auf virtualenv und den virtuellen Python-Ordner beschränkt ist, lautet:

  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 herunterladen python-dev
  4. no-sudo@pc:~ / package_download$ dpkg-x libpython2. 7-dev_2.7.12-1ubuntu0~16.04.1_amd64.deb .
  5. nicht-sudo@pc:~/package_download$ dpkg -x-python-dev_2.7.11-1_amd64.deb .

Dadurch wird die Bibliothek heruntergeladen und in den Ordner package_download extrahiert. Jetzt kommt der schmutzige Teil, da pip es mir nicht erlaubte, auf diesen Speicherort abzuzielen, habe ich diese Dateien im Ordner virtualenv dort hinzugefügt, wo sie hingehören...

  1. Verschmelzen Sie "~/package_download/usr/bin" mit dem Verzeichnis bin in Ihrem virtuellen python - Installationsordner (dem, den Sie verwendet haben installieren Sie virtualenv und erstellen Sie Ihre Umgebung), ersetzen Sie jedoch keine Datei.
  2. Verschmelzen Sie "~/package_download/usr/lib" mit dem lib-Verzeichnis in Ihrem Ordner virtual python. Keine Konflikte hier.
  3. Kopiere den Inhalt von "~ / package_download/usr/include/python2.7" in deinen include/ python2.7 / Ordner, hier gibt es keine Konflikte. Dies ist eigentlich der schmutzigste Teil, da wir den Installationsordner des virtuellen Python ändern (dies benötigt kein sudo, da es sich um ein No-Sudo handelt virtueller Python).
  4. Kopieren Sie den Ordner "~/package_download/usr/include/x86_64-linux-gnu" in Ihren Ordner include/python2.7/. Kopieren von Ordnern kein Problem hier...

Führen Sie nun Ihre virtuelle env:

  1. nicht-sudo@pc:~/running_virtualenv$ source bin/activate
  2. (running_virtualenv)no-sudo@pc:~/running_virtualenv$ pip install jupyter
  3. viel Spaß...

Wenn Sie festgestellt haben, dass Ihr include / python2. 7 / ein symbolischer Link ist, dann haben Sie den virtualenv-Ordner mit dem virtuellen Python-Ordner verwechselt. (Danke @andrzej1_1 für das Finden dieses Problems)

 1
Author: Ramiro R.C.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-10-13 11:53:19