Pregunta

Instalación de Mercurial en Mac OS X 10.6 Snow Leopard

He instalado Mercurial 1.3.1 en Mac OS X 10.6 Snow Leopard de la fuente utilizando la siguiente:

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

Esto instala los archivos site-packages de Mercurial en /usr/local/lib/python2.6/site-packages/. Yo sé que la instalación de Mercurial desde el Disco de imagen de Mac instalará los archivos en /Library/Python/2.6/site-packages/, el cual es el directorio site-packages para el defecto de Mac OS X instalar Python.

Tengo Python 2.6.2+ instala como un marco con su directorio site-packages en:

  

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

Con Mercurial instalado esta manera, tengo que tema:

  

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

con el fin de obtener Mercurial funcione.

Preguntas

  • ¿Cómo puedo instalar Mercurial desde las fuentes con las site-packages en un directorio diferente?
  • ¿Hay alguna ventaja o desventaja de tener las site-packages en la ubicación actual? ¿Sería mejor en uno de los directorios paquete de sitio Python que ya existe?
  • ¿Debo estar preocupado por virtualenv trabajan correctamente ya que he modificado PYTHONPATH (o cualquier otro tipo de conflictos para el caso)?

Razones para la instalación de la fuente

Dan Benjamin de Hivelogic proporciona los beneficios de e instrucciones para instalar Mercurial desde las fuentes en su artículo Instalación de Mercurial en Snow Leopard .

¿Fue útil?

Solución

Sobre todo porque usted tiene Python 2.6 disponible, puede hacer algo como python setup.py install --user, que instalará Mercurial con ~ / .local como prefijo. Usted no tiene que cambiar el PYTHONPATH para esto, pero sólo se suman ~ / .local / bin a su PATH.

En cuanto a las ventajas y desventajas: Que todo depende de lo que su PYTHONPATH en general parece como ya modificarla, naturalmente, modificar el orden de carga de los paquetes (que pasa a ser relevante si tiene una versión de Mercurial instala con un prefijo y otra con una diferente prefijo). En general, trato de poner todos los paquetes personalizados en una carpeta determinada site-packages (digamos /usr/local/lib/python2.6/site-packages). Una vez más: Si usted es la única persona que va a utilizar esas bibliotecas, la bandera --user proporcionada por distutils de Python 2.6 hace algo así bastante fácil (con la adición de ~ / .local de la ruta de búsqueda predeterminado para los módulos)

virtualenv debería funcionar bien, siempre que PYTHONPATH se utiliza constantemente.

Otros consejos

¿Por qué tenga que utilizar macports? easy_install pitón es la forma más fácil y libre de errores:

easy_install -U mercurial

Es sólo un simple bala de oro, todo el tiempo.

Instalar mercurial - o cualquier paquete de Python en general - en el directorio de inicio del usuario. De este modo se puede acceder a ellos desde cualquier Python (versión de la misma) o cualquier virtualenv. Ver PEP 370 para más detalles.

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

Pero, ¿por qué usted quiere construir mercurial manualmente? Yo uso macports .

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

Actualizar : Hoy en día, que sólo tiene que utilizar PyPM para instalar mercurial en ~/.local/bin/hg.

según lo sugerido por Sridhar, macports funciona bien en la arquitectura múltiple y versiones de MacOsX + permite actualizaciones y más:

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

de modo que usted puede usar:

$ 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
$

Todas esas respuestas se ven complicados para los usuarios promedio Mac OS X, ya que son específicas a otras plataformas instalar. A partir de ahora el sitio web de Mercurial ofrece un paquete de instalación (comprimido en un archivo zip).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top