2012-04-04 9 views
4

Ich möchte Sphinx 1.1.3 für Python 2.6 installieren. Ich habe jedoch keine sudo-Rechte. Anstatt es an der Standardstelle zu installieren, möchte ich mit --prefix einen anderen Ort festlegen. Sie folgendermaßen vorgehen:Easy_install's --prefix Option ändert sich nicht, wo es versucht, mein Paket zu installieren

-bash-3.2$ easy_install Sphinx-1.1.3-py2.6.egg --prefix=/homes/ndeklein/python2.6/site-packages/ 

gibt mir:

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: '/usr/lib/python2.4/site-packages/test-easy-install-18534.write-test' 

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

/usr/lib/python2.4/site-packages/ 

Bin ich etwas falsch mit dem Präfix eingeben? Auch, was könnte ich statt (was ich mit anderen Paketen verwendet habe):

python setup.py install --home=/homes/ndeklein/python2.6/site-packages/ 

aber ich kann nicht den setup.py-Skript finden. Ich vermute, dass EGGs kein setup.py-Skript haben, stimmt das?

Antwort

4

Diese Website behandelt Nicht-Root-Python-Installationen. Es könnte nützlich für Sie sein ...

http://www.astropython.org/tutorials/user-rootsudo-free-installation-of-python-modules7/

ein wenig davon zu zitieren:

Eine Benutzer-Konfigurationsdatei ~/.pydistutils.cfg, wird den internen Systempfad außer Kraft setzen Bei Python-Paketinstallationen werden die eingebauten Bibliotheken (lib), Skripte (bin) und Daten (share) in benutzereigene und angegebene Verzeichnisse umgeleitet. Sie müssen dem Python-Installer einfach mitteilen, wo sich diese Verzeichnisse befinden.

Der Benutzer Datei ~/.pydistutils.cfg, die folgenden Zeilen hat, eine ziemlich offensichtlich Syntax:

[install] 
install_scripts = ~/usr/bin 
install_data = ~/usr/share 
install_lib = ~/usr/lib/python2.4/site-packages 

Natürlich, was auch immer Verzeichnisse, die Sie wahrscheinlich existieren geben sollte und Sie sollten setzen sie an der Vorderseite des PYTHONPATH:

export PYTHONPATH=~/usr/lib/python2.4/site-packages:${PYTHONPATH} 

Es mag auch modernere python-Installationen sieht (im Vergleich zu den

easy_install --prefix=~/.local ... 

Es gibt auch:

easy_install --user ... 

, die zu einem benutzerspezifischen Website-Verzeichnis installieren werden die Dinge in der Verbindung) sollte das ~/.local Verzeichnis verwenden können.

+0

Appareantly der Quellcode der setup.py hatte, so habe ich das, aber becasue es ist ein sehr handliches Link I akzeptierte deine Antwort. –

+0

Ja, ich habe gerade diesen Link neulich für einen Kollegen von mir gefunden ... zuvor, als ich keine root hatte, habe ich eine private Version von Python installiert (ich wollte sowieso 2,7 ...), aber ich habe das vorgemerkt Link, weil es so nützlich schien. – mgilson

+0

Toter Link, es wäre schön, wenn Sie es in der Antwort zusammengefasst hätten ... –

0

Sie versuchen, Pip easy_install installieren könnte mit (pip über easy_install diesen Tagen empfohlen)

Dann einfach

pip install --user Sphinx 

http://www.pip-installer.org/en/latest/installing.html wie pip wenn

für die Installation sehen, benutzen Sie können Sie können auch pip installieren virtualenv und arbeiten in virtualenv (wo pip wird installiert alle Pakete in einem lokalen Website-Pakete-Ordner). siehe http://pypi.python.org/pypi/virtualenv für weitere Informationen.

6

Sie müssen Optionen vor dem Paket angeben, so sollte der Befehl:

easy_install --prefix=/homes/ndeklein/python2.6/site-packages/ Sphinx-1.1.3-py2.6.egg 
+0

Gerade hat mein Problem gelöst und meinen Tag gemacht! – Joe