2010-03-30 26 views
49

¿Hay documentación oficial en el sitio web de Python en alguna parte, sobre cómo instalar y ejecutar múltiples versiones de Python en la misma máquina en Linux?¿Varias versiones oficiales de Python en la misma máquina?

Puedo encontrar miles de millones de entradas de blog y respuestas, pero quiero saber si hay una forma oficial "estándar" de hacerlo.

¿O todo esto depende del sistema operativo?

Respuesta

55

Creo que es totalmente independiente. Simplemente instálelos, luego tendrá los comandos, p. /usr/bin/python2.5 y /usr/bin/python2.6. Enlace /usr/bin/python al que desea usar como predeterminado.

Todas las bibliotecas están en carpetas separadas (nombradas después de la versión) de todos modos.

Si desea compilar las versiones manual, esto es desde el archivo Readme del código fuente de Python:

Instalación de varias versiones

En los sistemas Unix y Mac si va a instalar varias versiones de Python usando el mismo prefijo de instalación (argumento --prefix para la secuencia de comandos configure ) debe tener cuidado de que su ejecutable principal de python no sea sobrescrito por la instalación de una versión diferente. Todos los archivos y directorios instalados usando "make altinstall" contienen la versión mayor y menor y pueden vivir lado a lado. "make install" también crea $ {prefix}/bin/python3 que hace referencia a $ {prefix} /bin/pythonX.Y. Si pretende instalar múltiples versiones usando el mismo prefijo, debe decidir qué versión de (si corresponde) es su versión "primaria". Instale esa versión usando "make install". Instale todas las otras versiones usando "make altinstall".

Por ejemplo, si desea instalar Python 2.5, 2.6 y 3.0 con 2.6 siendo la versión primaria, tienes que ejecutar "make install" en el directorio 2.6 build y "hacer altinstall" en los otros.

+3

Gracias, "make install" en primario y "make altinstall" en secundario lo dejó claro. – drozzy

+4

¿Alguna forma correcta de compartir bibliotecas entre versiones? Digamos que tengo MySQLdb para 2.6, luego instalé 2.7. ¿cómo hago MySQLdb disponible para 2.7 también? – romeroqj

+0

Toda la información que proporcione es para Unix/Linux y Mac OS, por lo que claramente no es "totalmente independiente" del sistema operativo, como pregunta el OP. Para Windows, el proceso es bastante diferente pero igualmente fácil. – wwwayne

0

Depende mucho del sistema de distribución de paquetes que utilice. Por ejemplo, con MacPorts, puede instalar múltiples paquetes de Python y usar la utilidad pyselect para cambiar la configuración predeterminada entre ellos con facilidad. En todo momento, puede llamar a los diferentes intérpretes de Python al proporcionar la ruta completa, y puede enlazar con todas las bibliotecas y encabezados de Python al proporcionar las rutas completas para esos.

Básicamente, independientemente de la forma en que instale las versiones, siempre y cuando mantenga sus instalaciones separadas, podrá ejecutarlas por separado.

+0

¿Qué es un sistema de distribución de paquetes? – drozzy

+0

@drozzy: por ejemplo, RPM utilizado por OpenSuse o apt utilizado por distribuciones basadas en Debian o portage utilizado por Gentoo, etc. Básicamente es una herramienta para instalar software. –

20

En Windows se instalan en carpetas separadas, "C: \ python26" y "C: \ python31", pero los ejecutables tienen el mismo nombre "python.exe".

Creé otra carpeta "C: \ python" que contiene "python.bat" y "python3.bat" que sirven como envoltorios para "python26" y "python31" respectivamente, y agregó "C: \ python" a la variable de entorno PATH.

Esto me permite escribir python o python3 en mis contenedores .bat Python para iniciar el que yo desee.

En Linux, puede utilizar el truco #! para especificar la versión que desea una secuencia de comandos para su uso.

+0

¿Qué agregar a esos archivos .bat? – Aidis

+0

No votaremos esta respuesta solo porque es muy específica de Windows y la pregunta estaba relacionada con Linux, de lo contrario la información es excelente. –

+2

usuario ya no existe, realmente quería ese archivo por lotes – Wargog

3

Como instalar diferentes versiones de Python es de hecho depende del sistema operativo.

Sin embargo, si estás en Linux, puede utilizar una herramienta como pythonbrew o pythonz para ayudarle a administrar fácilmente y cambiar entre diferentes versiones.

+0

He instalado en un mac con configure/make altinstall. Sin problemas hasta ahora. – Evgeny

+0

'pyenv' funcionó bien para mí en Ubuntu: https://github.com/pyenv/pyenv – JHS

1

Si es necesario instalar múltiples versiones de Python (al lado de la principal) en Ubuntu/Mint: (debería funcionar similar de otras UniXS'.)

1) Instalar los paquetes requeridos para la fuente compilación

$ sudo apt-get install build-essential checkinstall 
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev 

2) descargar y extraer deseada versión Python

Download Python Source for Linux como archivo comprimido y moverlo a /usr/src.

extraer el paquete descargado en su lugar. (sustituir la década de x con su versión descargada)

$ sudo tar xzf Python-x.x.x.tgz 

3) compilar e instalar Python Fuente

$ cd Python-x.x.x 
$ sudo ./configure 
$ sudo make altinstall 

Su nuevo bin Python se encuentra ahora en /usr/local/bin. Puede probar la nueva versión:

$ pythonX.X -V 
Python x.x.x 
$ which pythonX.X 
/usr/local/bin/pythonX.X 

# Pip is now available for this version as well: 
$ pipX.X -V 
pip X.X.X from /usr/local/lib/pythonX.X/site-packages (python X.X) 
Cuestiones relacionadas