Frage

Installieren von Mercurial auf Mac OS X 10.6 Snow Leopard

ich Mercurial 1.3.1 auf Mac OS X 10.6 Snow Leopard aus dem Quellcode mit dem folgenden:

cd ~/src
curl -O https://www.mercurial-scm.org/release/mercurial-1.3.1.tar.gz
tar -xzvf mercurial-1.3.1.tar.gz
cd mercurial-1.3.1
make all
sudo make install

Dies installiert die Website-Pakete Dateien für Mercurial in /usr/local/lib/python2.6/site-packages/. Ich weiß, dass Mercurial vom Mac Disk Image der Installation werden die Dateien in /Library/Python/2.6/site-packages/ installieren, die die Website-Pakete Verzeichnis für den Mac OS X Standard ist Python installieren.

Ich habe Python 2.6.2+ als Framework installiert mit seinem Website-Paketen Verzeichnis in:

  

/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages

Mit Mercurial auf diese Weise installiert, ich Problem haben:

  

PYTHONPATH = / usr / local / lib / python2.6 / site-packages: "$ {PYTHONPATH}"

, um Mercurial Arbeit zu bekommen.

Fragen

  • Wie kann ich Mercurial von der Quelle mit den Website-Paketen in einem anderen Verzeichnis installieren?
  • Gibt es einen Vorteil oder Nachteil den ort Pakete in der aktuellen Position zu haben? Wäre es in einer der Website-Paket Verzeichnisse Python besser sein, die bereits existieren?
  • Muss ich über virtualenv besorgt sein müssen, korrekt arbeiten, da ich PYTHONPATH geändert haben (oder andere Konflikte für diese Angelegenheit)?

Gründe für die Installation von Quelle

Dan Benjamin von bietet Hivelogic die Vorteile und Anweisungen für die von der Quelle in seinem Artikel Mercurial Installation Installieren von Mercurial auf Snow Leopard .

War es hilfreich?

Lösung

Vor allem, da Sie Python 2.6 verfügbar Sie so etwas wie python setup.py install --user tun können, die Mercurial installieren mit ~ / .local als Präfix. Sie müssen nicht für diese nur die PYTHONPATH ändern, aber fügen Sie ~ / .local / bin zu PATH.

Im Hinblick auf Vor- und Nachteile: Das ist alles, was Ihr PYTHONPATH im Allgemeinen aussieht, hängt, wie es da Modifizierung wird die Ladereihenfolge der Pakete natürlich ändern (die relevant wird, wenn Sie mit einem Präfix und zum anderen mit einer anderen Version von Mercurial installiert Präfix). Im Allgemeinen versuche ich, alle benutzerdefinierten Pakete in eine bestimmte Website-Pakete Ordner abzulegen (zB /usr/local/lib/python2.6/site-packages). Nochmal: Wenn Sie die einzige Person sind, die diese Libs verwenden, von distutils Python zur Verfügung gestellt die --user Flagge 2.6 macht, so etwas wie dieses recht einfach (mit dem Hinzufügen von ~ / .local auf den Standardsuchpfad für Module)

virtualenv sollte gut funktionieren, so lange Sie Ihre PYTHONPATH konsequent verwendet werden.

Andere Tipps

Warum brauchen Macports zu benutzen? Python easy_install ist der einfachste Weg und fehlerfrei:

easy_install -U mercurial

Es ist nur eine einfache Gold Kugel, die ganze Zeit.

Installieren Mercurial - oder jedes Python-Paket im Allgemeinen - in Ihr Benutzerverzeichnis. So können Sie sie von jedem Python zugreifen (von derselben Version) oder in einem virtualenv. Siehe PEP 370 .

$ cd mercurial-x.y.z/
$ python2.6 setup.py install --user
$ ~/.local/bin/hg
...

Aber warum wollen Sie Mercurial manuell bauen? Ich benutze Macports .

$ sudo port install mercurial
$ which hg
/opt/local/bin/hg

Aktualisieren : Heute habe ich einfach benutzen PyPM mercurial in ~/.local/bin/hg zu installieren.

wie von Sridhar vorgeschlagen, arbeitet Macports fein auf mehrere Architektur und Versionen von MacOsX + ermöglicht Updates und mehr:

$ port variants mercurial
mercurial has the variants:
   bash_completion: Completion support for bash
   zsh_completion: Install mercurial zsh completion file
$

, so dass Sie können verwendet werden:

$ sudo port install mercurial +bash_completion
--->  Computing dependencies for mercurial
--->  Fetching mercurial
--->  Attempting to fetch mercurial-1.3.1.tar.gz from http://arn.se.distfiles.macports.org/python
--->  Attempting to fetch mercurial-1.3.1.tar.gz from http://www.selenic.com/mercurial/release/
--->  Verifying checksum(s) for mercurial
--->  Extracting mercurial
--->  Configuring mercurial
--->  Building mercurial
--->  Staging mercurial into destroot
--->  Installing mercurial @1.3.1_0+bash_completion
--->  Activating mercurial @1.3.1_0+bash_completion
--->  Cleaning mercurial
$

Alle diese Antworten suchen auf die durchschnittlichen Mac OS X-Benutzer kompliziert, weil sie auf andere Plattformen installieren spezifisch sind. Ab sofort ist die Mercurial Website bietet ein Installationspaket (als ZIP-Datei komprimiert).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top