instalar - Varias versiones de Python en OS X Leopard
python release (4)
Actualmente tengo varias versiones de Python instaladas en mi Mac, la que vino con ella, una versión que descargué recientemente de python.org, una versión anterior que se usa para ejecutar Zope localmente y otra versión que Appengine está usando. Es un desastre. ¿Alguna recomendación de usar una versión de python para gobernarlos a todos? ¿Cómo voy a eliminar las versiones anteriores y vincular todas mis aplicaciones a una sola instalación? Cualquier truco específico de Mac que deba saber? ¿Es esta una idea tonta?
+1 por virtualenv.
Incluso si no necesita diferentes versiones de Python, sigue siendo bueno mantener sus dependencias de desarrollo separadas de su sistema Python.
No estoy seguro de qué sistema operativo está usando, pero creo que these instrucciones son muy útiles para lograr que los entornos de desarrollo de Python se ejecuten en OSX.
El enfoque que prefiero debería funcionar en todos los sistemas operativos tipo UNIX:
Cree para cada aplicación que necesita una versión específica de python una cuenta de usuario. Instale en cada usuario cuente la versión python correspondiente con un prefijo local del usuario (como ~ / build / python) y agregue ~ / build / bin / a la variable de entorno PATH del usuario. Instala / usa tus aplicaciones python en su usuario correcto.
La ventaja de este enfoque es el aislamiento perfecto entre las instalaciones de python individuales y la selección relativamente conveniente del entorno Python correcto (solo su
para el usuario apropiado). Además, el sistema operativo permanece intacto.
La virtualenv Ian Bicking me permite tener Python aislados para cada aplicación que construyo, y me permite decidir si incluir o no los paquetes de sitio globales en el entorno aislado de Python.
No lo he probado con Zope, pero supongo que lo siguiente debería funcionar bien:
- Usando su Python de Zope, cree un nuevo virtualenv, con o sin --no-site-packages
- Deja tu Zope en el virtualenv
- Activar el entorno con $ VENV / bin / activate
- Instale cualquier paquete de sitio necesario
- Ejecute su Zope usando Python ahora en $ VENV / bin / python
Esto ha funcionado de manera brillante para administrar proyectos de Django con varias versiones de Python, Django y complementos.
Este artículo parece entrar en más detalles sobre los detalles de Grok y Virtualenv, pero las generalidades deberían aplicarse también a Zope.
No hay nada inherentemente malo en tener múltiples versiones de Python. A veces es una necesidad cuando se usan aplicaciones con dependencias de versión. Probablemente, el problema más importante es lidiar con las dependencias del paquete del sitio, que pueden variar de una aplicación a otra. Herramientas como virtualenv
pueden ayudar allí. Una cosa que no debes hacer es intentar eliminar el Python suministrado por Apple en / System / Library / Frameworks y vinculado desde / usr / bin / python. (Tenga en cuenta la reciente discusión de múltiples versiones here ).