Ubuntu viene con Python 2.7.2+ preinstalado. (También descargué los paquetes dev de python). Debido a otro problema que tengo (Explicado en profundidad en How do I replace/update the version of the expat library used by Apache?), Graham Dumpleton me dijo que mi distribución había construido Python explícitamente de una manera para usar una implementación externa de pyexpat, por lo que causaba problema. También dijo que podía construir Python yo mismo desde el código fuente para resolver el problema. ¿Cómo haría esto en Ubuntu? (Tenga en cuenta que soy nuevo en Linux.)¿Cómo construiría Python yo mismo desde el código fuente en Ubuntu?
Respuesta
En el intérprete de comandos (en un terminal), ejecute
sudo apt-get install build-essential
Esto obtendrá todos los paquetes comunes que necesita para construir cualquier cosa (por ejemplo, el compilador, etc.).
A continuación, ejecute
sudo apt-get build-dep python2.7
Esto obtendrá todas las bibliotecas que necesita para construir pitón.
A continuación, descargue el código fuente de python y descomprímalo en un directorio.
ir allí y ejecutar
./configure --prefix=/path/where/you/want/python/installed
Entonces
make
y luegomake install
conseguirlo construido e instalado:make && make install
Si llega a inconvenientes en el camino, pedir de nuevo aquí y trataré de ofrecer alguna orientación.
Cuando ejecuté 'sudo apt-get build-dep python2.7' decía" E: Debes poner algunos URI 'de origen' en tu sources.list ". ¿Alguna idea? (Además, nota secundaria: creo que quisiste escribir 'sudo apt-get install build-essential' sin los -s al final de" essentials "en el primer comando.) –
También necesitan la opción --enable-shared al construir Python, ya que quieren usarlo con mod_wsgi y Python no construye bibliotecas compartidas de forma predeterminada, lo que no es ideal para cargar dinámicamente sistemas integrados. –
¿Qué son "ellos"? ¿A qué te refieres? Además, antes de eso, ¿cómo puedo resolver el mensaje de error? ¿Debo agregar algo a sources.list? –
La mejor solución para construir Python usted mismo es pythonbrew, que automatiza el proceso y también le permite no solo instalar varias versiones diferentes, sino también seleccionar fácilmente entre ellas.
En 2016, pyenv y PyRun son las soluciones más viables.
+1 para la herramienta. ¿Qué tan maduro es? ¿Tienes experiencia personal? –
@NoufalIbrahim: uso ['pythonz'] (https://github.com/saghul/pythonz) (una bifurcación simplificada de' pythonbrew'). Funciona como se anuncia: automatiza el proceso de descarga de las fuentes y su construcción a mano. – jfs
Esta herramienta ya no se mantiene. –
Puede intentar usar pyenv. No lo he intentado todavía Pero mirando las fuentes, parece muy maduro realizar una instalación de cualquier intérprete CPython en cualquier sistema * ix.
La mejor manera de construir "caliente" pitón muy reciente (de github) es el siguiente:
sudo apt-get update \
&& apt-get install -y build-essential git libexpat1-dev libssl-dev zlib1g-dev \
libncurses5-dev libbz2-dev liblzma-dev \
libsqlite3-dev libffi-dev tcl-dev linux-headers-amd64 libgdbm-dev \
libreadline-dev tk tk-dev
git clone https://github.com/python/cpython.git
cd cpython && ./configure --prefix=/usr \
--enable-loadable-sqlite-extensions \
--enable-shared \
--with-lto \
--enable-optimizations \
--with-system-expat \
--with-system-ffi \
--enable-ipv6 --with-threads --with-pydebug --disable-rpath \
&& make \
&& make install
Se construye el muy reciente pitón de las fuentes en GitHub.
Con esto he construido Python 3.7.0a0 (heads/master:60a6632a3d, Aug 5 2017)
.
- 1. ¿Cómo obtengo el código fuente de Ubuntu?
- 2. ¿Cómo uso los datos en package_data desde el código fuente?
- 3. Enviando un SMS yo mismo
- 4. ¿Cómo instalar el complemento Grails desde el código fuente?
- 5. Entender el "yo" y configurar uno mismo al súper
- 6. No se puede encontrar libmysqlclient en/usr. mientras que compilar PHP 5.2 desde el código fuente en Ubuntu 12.4
- 7. Cómo subir Suds.WebFault desde el código python?
- 8. Cómo construir midas.obj desde el código fuente de midas
- 9. ¿Cómo llamas al código Python desde el código C?
- 10. dividir el código fuente de Python en varios archivos?
- 11. Analizando el código de Python desde dentro de Python?
- 12. ¿Cómo se puede acceder al depurador desde el código fuente de Python?
- 13. ¿Cómo construiría este xml en C#
- 14. Mismo código fuente simple, binarios diferentes en Windows
- 15. Compilar y ejecutar código fuente desde la aplicación Java
- 16. ¿Cómo recuperar el código fuente python (.py) del archivo .pyo?
- 17. AST desde el código C
- 18. ¿Cómo verificar el código fuente de un método python?
- 19. compilaciones repetibles del mismo código fuente C# en diferentes máquinas
- 20. Pasando yo en un constructor en python
- 21. Compilar DLL desde el código python
- 22. Python 2.7 en Ubuntu
- 23. ¿Cómo resaltar el código fuente en HTML?
- 24. ¿Qué hace este código de Ruby ?: def self.metaclass; clase << uno mismo; yo; fin; final
- 25. ¿Cómo construiría una GUI "píxel perfecto" en Linux?
- 26. Código fuente PDO de PHP
- 27. ¿Encontrar el código fuente para las funciones incorporadas de Python?
- 28. Ubuntu: Cómo vincular un código binario
- 29. Incluye pruebas unitarias en el mismo paquete que el código fuente en Java
- 30. ¿Cómo construiría Box2D para trabajar en Code :: Blocks/Mingw32 (Windows)
Si no obtiene una respuesta aquí, esta pregunta puede ser vista por más gente de Ubuntu en askubuntu.com –
Esto no es realmente específico de Ubuntu, así que creo que está bien aquí. Los diversos sitios de intercambio de pila tienen una superposición considerable en mi opinión. –